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
swung0x48
c5bf0dc07d
[Chore] (MG_Backend/DirectVulkan): exclude some validation logic from release build
2026-05-09 13:45:19 +08:00
swung0x48
9fbd83d602
Merge branch 'Feat/Backend-Direct-Vulkan' of https://github.com/MobileGL-Dev/MobileGL into Feat/Backend-Direct-Vulkan
2026-05-09 13:08:12 +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
7337b00ca8
[Feat] (MG_Backend/DirectVulkan): implement 3D texture handling
2026-05-07 12:28:14 +08:00
swung0x48
22582dea3e
[Chore] (MG_Backend/DirectVulkan): get rid of 1x1 texture fallback path for unbinded sampler
2026-05-07 09:30:10 +08:00
swung0x48
f600a07404
[Fix] (MG_Backend/DirectVulkan): use fallback texture in case some
...
shaderpack failes to properly bind texture
2026-05-06 17:57:59 +08:00
swung0x48
ff790e1ff1
[Feat] (MG_Backend/DirectVulkan): implement vulkan backend for glCopyTex(Sub)Image2D
2026-05-06 15:39:59 +08:00
swung0x48
a345369269
[Fix] (MG_Backend/DirectVulkan): fix null dereference crash in VkClearManager
2026-05-06 13:15:08 +08:00
swung0x48
8e4a4359b4
[Chore] (MG_Backend/DirectVulkan): eliminate vague texture binding fallbacks
2026-05-05 18:34:44 +08:00
swung0x48
0a000d1628
[Feat] (MG_Backend/DirectVulkan): more built-in function renames
2026-05-05 18:33:20 +08:00
swung0x48
5bd8e369c4
[Feat] (MG_Backend/DirectVulkan): advertise GL_ARB_draw_buffers_blend for DirectVulkan backend
2026-05-05 18:02:20 +08:00
swung0x48
777d756d1b
[Fix] (MG_Impl/GL_Texture): properly unbind texture when texture name == 0
2026-05-05 17:23:57 +08:00
swung0x48
7716a8e05d
[Fix] (MG_Backend/DirectVulkan): more flexible ResolveSamplerDescriptor
2026-05-05 17:13:35 +08:00
swung0x48
94e93b171c
[Feat] (MG_Backend/DirectVulkan): get real maxProgramBindings from VkDevice
2026-05-05 13:19:45 +08:00
swung0x48
1bf12be278
[Fix] (MG_Util/ShaderTranspiler): add preprocessing to remove name-collided glsl functions
2026-05-05 12:58:36 +08:00
swung0x48
99b753be9a
[Feat] (MG_Backend/DirectVulkan): implement backend func for glCopyTex(Sub)Image2D
2026-05-05 12:02:33 +08:00
swung0x48
bc2f2d896b
[Chore]: bump version to 26.05
2026-05-05 09:12:01 +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
212309083a
[Fix] (MG_State/EGLState): fix compilation error on 32-bit arch where EGLAttrib & EGLint are the same type and collides
2026-05-03 19:52:29 +08:00
swung0x48
c1ebd01a70
Merge pull request #8 from MobileGL-Dev/Feat/Backend-Direct-Vulkan
...
Feat/backend direct vulkan
2026-04-26 21:55:28 +08:00
swung0x48
af58e2c7b4
[Fix] (MG_Backend/DirectVulkan/VertexInputStateFactory): don't use SSCALED formats
2026-04-26 19:43:27 +08:00
swung0x48
4a3a44924a
[Refactor] (MG_Backend/DirectVulkan/ProgramFactory): refactor uniform reflection
2026-04-03 16:45:11 +08:00
swung0x48
1b2a7989af
[Fix] (MG_Util/ShaderTranspiler/SpvcSession): use proper usage bit to select the right code path. Fix bugs along the way
2026-04-01 14:57:00 +08:00
swung0x48
83d1ce177e
[Optimization] (MG_Util/ShaderTranspiler/SpvcSession): use SPIRV-Reflect to avoid full AST parse, speeding up reflection
2026-04-01 10:28:37 +08:00
swung0x48
4321c4a827
[Submodule] (3rdparty/SPIRV-Reflect): add SPIRV-Reflect as dependency
2026-03-29 00:03:57 +08:00
swung0x48
a039ce0987
[Chore] (MG_State/ProgramState): some renames
2026-03-26 09:49:05 +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
ccbde0196e
[Fix] (MG_Test/ProgramTest): fix wrong decomp source output
2026-03-21 23:07:27 +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
2ecba4d70c
[Fix] (MG_Test/VertexArrayTest): fix VertexArrayTest compilation error
2026-03-18 13:07:57 +08:00
swung0x48
1e11a5950e
[Fix] (MG_Test/BufferTest): fix BufferTest compilation error
2026-03-18 11:07:56 +08:00
swung0x48
b324363db0
[Chore] (MG_Backend/DirectVulkan): hard assert SetupDraw failure
2026-03-18 11:01:00 +08:00
swung0x48
a654b15190
[Feat] (MG_Backend/DirectVulkan): naively implement DrawElementsBaseVertex and MultiDrawElementsBaseVertex
2026-03-18 10:43:30 +08:00
swung0x48
75ea7f8c0c
[Chore] (MG_Backend/DirectVulkan): include index buffer upload into SetupDraw
2026-03-17 16:09:02 +08:00
swung0x48
09aeee4c03
[Chore] (MG_State/VertexArrayState): add const getter to index buffer binding slot
2026-03-17 15:55:16 +08:00
swung0x48
87122973be
[Chore] (MG_Backend/DirectVulkan): refactor draw cmds
2026-03-17 15:10:17 +08:00
swung0x48
8b9adc5121
[Fix] (MG_Backend/DirectVulkan/VkRenderPassManager): avoid reusing active render pass when draw FBO attachments still have pending clears
2026-03-17 14:34:50 +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
swung0x48
e82815802e
[Feat] (MG_Backend/DirectVulkan): implement texture mipmap
2026-03-09 15:09:05 +08:00
swung0x48
67069d4a12
[Fix]: compilation error after merge
2026-03-08 11:06:27 +08:00
swung0x48
4a38e7224e
Merge branch 'dev' into Feat/Backend-Direct-Vulkan
2026-03-08 10:31:44 +08:00
swung0x48
645f2f748f
[Fix] (MG_Backend/DirectVulkan): fix missing clear when (texture-FBO attach -> clear -> detach) occurs
2026-03-08 00:24:30 +08:00
swung0x48
5652f9ae5f
[Chore] (MG_Backend/DirectVulkan): implements BlitFramebuffer using backend manager APIs
2026-03-07 19:29:33 +08:00
swung0x48
f3b0b242dd
[Feat] (MG_Backend/DirectVulkan): implements BlitFramebuffer
2026-03-07 18:22:38 +08:00
swung0x48
876cb7bcd3
[Chore] (MG_Backend/DirectVulkan): asserts fbo existence
2026-03-07 09:33:05 +08:00
swung0x48
ee9a121c6f
[Fix] (MG_Impl/Init): bind default fbo to draw/read slot at init
2026-03-07 09:31:42 +08:00
swung0x48
00439c5c4a
[Fix] (MG_Backend/DirectVulkan): Fix sampled-texture/render-pass layout hazard
2026-03-06 21:53:50 +08:00
swung0x48
d7286a5832
[Fix] (MG_Backend/DirectVulkan): some transition fixes
2026-03-06 18:25:33 +08:00
swung0x48
972804fdc7
[Fix] (MG_Backend/DirectVulkan): fixing some layout mismatch
2026-03-06 17:16:55 +08:00
swung0x48
bca7328421
[Fix] (MG_Backend/DirectVulkan): use hash to save active render pass
2026-03-06 16:17:56 +08:00
swung0x48
8097c0d7b1
[Fix] (MG_Backend/DirectVulkan): add untreated aspect member in TextureResource move ctor
2026-03-06 15:45:19 +08:00
swung0x48
641f54e1b7
[Feat] (MG_Backend/DirectVulkan): Transition texture for sampling
2026-03-06 15:37:14 +08:00
swung0x48
c36bfe0843
[Fix] (MG_Backend/DirectVulkan): track image layout naively
2026-03-06 14:53:43 +08:00
swung0x48
8ae66521e3
[Fix] (MG_Backend/DirectVulkan/VkRenderPassManager): early return when there's an active render pass that is compatible
2026-03-06 14:46:51 +08:00