swung0x48
c2d6134cfa
[Feat] (android-plugin): add standalone trace replay profile
2026-06-15 16:57:50 +08:00
BZLZHH
a4261f8b19
[Fix] (MG_Backend/DirectVulkan, MG_State/TextureState, MG_Test): harden default-fbo clear lifetime tracking
2026-06-10 09:49:16 +08:00
BZLZHH
6051588458
[Feat] (MG_Backend/DirectVulkan): implement multisample texture backend
2026-06-10 01:56:37 +08:00
BZLZHH
83a6f24f93
Merge remote-tracking branch 'origin/Feat/Backend-Direct-Vulkan' into Agent/CodexAudit
...
# Conflicts:
# MobileGL/MG_Backend/BackendObject.h
# MobileGL/MG_Backend/DirectGLES/Managers.cpp
# MobileGL/MG_Backend/DirectVulkan/BackendObject_DirectVulkan.cpp
# MobileGL/MG_Backend/DirectVulkan/Renderer/FrameContext.cpp
# MobileGL/MG_Backend/DirectVulkan/Renderer/VkTextureManager.cpp
# MobileGL/MG_Backend/DirectVulkan/Renderer/VulkanRenderer.cpp
# MobileGL/MG_Impl/GLImpl/Buffer/GL_Buffer.cpp
# MobileGL/MG_Impl/GLImpl/Exporting/Definitions.cpp
# MobileGL/MG_Impl/GLImpl/Framebuffer/GL_Framebuffer.cpp
# MobileGL/MG_Impl/GLImpl/Getter/GL_Getter.cpp
# MobileGL/MG_Impl/GLImpl/Getter/GL_Getter.h
# MobileGL/MG_Impl/GLImpl/Program/GL_Program.cpp
# MobileGL/MG_Impl/GLImpl/Program/GL_Program.h
# MobileGL/MG_Impl/GLImpl/Sync/GL_Sync.cpp
# MobileGL/MG_Impl/GLImpl/Sync/GL_Sync.h
# MobileGL/MG_Impl/GLImpl/Texture/GL_Texture.cpp
# MobileGL/MG_Impl/GLImpl/VertexArray/GL_VertexArray.cpp
# MobileGL/MG_Impl/GLImpl/VertexArray/GL_VertexArray.h
# MobileGL/MG_State/GLState/BufferState/BufferObject.cpp
# MobileGL/MG_State/GLState/BufferState/BufferObject.h
# MobileGL/MG_Util/BackendLoaders/Vulkan/Loader.cpp
# MobileGL/MG_Util/BackendLoaders/Vulkan/Loader.h
2026-06-09 21:18:12 +08:00
BZLZHH
727939af5b
[Fix] (MG_Impl, MG_State, MG_Backend, MG_Util): Do source audit by Codex.
2026-06-09 15:34:19 +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
d553e363a7
[Feat] (MG_Impl/GL_Buffer, MG_State/BufferState, MG_Backend): implement persistent mapping
2026-06-08 14:08:35 +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
5cfe9c8998
[Feat] (MG_Backend/DirectVulkan): support compute shaders
2026-06-05 11:52:10 +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
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
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
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
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
c5bf0dc07d
[Chore] (MG_Backend/DirectVulkan): exclude some validation logic from release build
2026-05-09 13:45:19 +08:00
swung0x48
39c5b28dfb
[Fix] (MG_Backend/DirectVulkan): fixing Photon v1.1
...
- Flatten DailyWeatherVariation interface varyings
- Correct internal-format component counts
- Preserve GL draw-buffer slot semantics in render pass creation
- relax GL_NONE / vec4-to-RGB pipeline checks
2026-05-09 09:56:45 +08:00
swung0x48
407d4344c4
[Feat] (MG_Backend/DirectVulkan): generate mipmap, add fallback texture, implement shader-based depth mipmap blit, enumerate more vk physical device features
...
- Supporting iterationT
2026-05-08 09:25:41 +08:00
swung0x48
76e3950028
[Feat] (MG_Backend/DirectVulkan): GenerateMipmap WIP
2026-05-07 15:14:25 +08:00
swung0x48
ff790e1ff1
[Feat] (MG_Backend/DirectVulkan): implement vulkan backend for glCopyTex(Sub)Image2D
2026-05-06 15:39:59 +08:00
swung0x48
8e4a4359b4
[Chore] (MG_Backend/DirectVulkan): eliminate vague texture binding fallbacks
2026-05-05 18:34:44 +08:00
swung0x48
94e93b171c
[Feat] (MG_Backend/DirectVulkan): get real maxProgramBindings from VkDevice
2026-05-05 13:19:45 +08:00
swung0x48
99b753be9a
[Feat] (MG_Backend/DirectVulkan): implement backend func for glCopyTex(Sub)Image2D
2026-05-05 12:02:33 +08:00
swung0x48
659fbf26da
[Fix] (MG_Backend/DirectVulkan): fix depth sampler state, fixing BSL
...
shadow
2026-05-05 00:40:17 +08:00
swung0x48
f61a7bb9c0
[Fix] (MG_Backend/DirectVulkan): fix some uniform/sampler binding
2026-05-04 22:48:50 +08:00
swung0x48
4a3a44924a
[Refactor] (MG_Backend/DirectVulkan/ProgramFactory): refactor uniform reflection
2026-04-03 16:45:11 +08:00
swung0x48
accfaab720
[Refactor] (MG_Backend/DirectVulkan): get rid of junk, and rename some symbols
2026-03-24 14:20:21 +08:00
swung0x48
35658eb998
[Refactor] (MG_Backend/DirectVulkan): move uniform reflection from UniformDescriptorBinder to ProgramFactory
2026-03-23 16:36:17 +08:00
swung0x48
0209c5461f
[Feat] (MG_Backend/DirectVulkan): implement naive transient/resident buffer, and heuristics to downgrade resident buffer to transient
2026-03-20 17:39:10 +08:00
swung0x48
810b4886c7
[Feat] (MG_Backend/DirectVulkan): supports uint8 index buffer by VK_KHR_index_type_uint8 / VK_EXT_index_type_uint8
2026-03-20 15:27:57 +08:00
swung0x48
7dfc2149d8
[Feat] (MG_Backend/DirectVulkan): unified transient buffer arena
2026-03-20 13:56:12 +08:00
swung0x48
9d1e8bd7cd
[Feat] (MG_Backend/DirectVulkan): VkBufferManager transient upload now includes uniform
2026-03-20 13:31:51 +08:00
swung0x48
bfa4049ac1
[Chore] (MG_Backend/DirectVulkan): unwrap frame context initialization
2026-03-20 09:55:22 +08:00
swung0x48
87c56ce3d5
[Fix] (MG_Backend/DirectVulkan): Fix VkBufferManager initialization assertion failure
2026-03-20 09:36:37 +08:00
swung0x48
f2ab50b84e
[Feat] (MG_Backend/DirectVulkan): VkBufferManager
2026-03-19 17:44:35 +08:00
swung0x48
b6ac6c182e
[Feat] (MG_Backend/DirectVulkan): Buffer arena, buffer slice
2026-03-19 17:23:52 +08:00
swung0x48
5e9f0f0c70
[Chore] (MG_Backend/DirectVulkan): remove some unused stuff
2026-03-19 08:59:34 +08:00
swung0x48
e4455aed9a
[Feat] (MG_Backend/DirectVulkan): add draw cmd MultiDrawIndexedCmd
2026-03-18 16:08:00 +08:00
swung0x48
bc018c9513
[Chore] (MG_Backend/DirectVulkan): add indexBufferView field for draw cmds
2026-03-18 13:25:10 +08:00
swung0x48
b324363db0
[Chore] (MG_Backend/DirectVulkan): hard assert SetupDraw failure
2026-03-18 11:01:00 +08:00
swung0x48
75ea7f8c0c
[Chore] (MG_Backend/DirectVulkan): include index buffer upload into SetupDraw
2026-03-17 16:09:02 +08:00
swung0x48
87122973be
[Chore] (MG_Backend/DirectVulkan): refactor draw cmds
2026-03-17 15:10:17 +08:00
swung0x48
9e42e40705
[Chore] (MG_Backend/DirectVulkan): notes for MaterializePendingClearForTexture
2026-03-09 17:13:56 +08:00
swung0x48
8a91225eb1
[Chore] (MG_Backend/DirectVulkan): debug log for clear manager
2026-03-09 16:22:51 +08:00