swung0x48
b40def47eb
[Refactor] (MG_Util/ShaderTranspiler): replace Photon shared vec3 regex hack with SPIR-V pass
...
Replace the application-specific PackPhotonSharedVec3Memory GLSL regex
patch with a general DecomposeWorkgroupVec3Pass SPIR-V optimization pass.
The new pass decomposes vec3/ivec3/uvec3/bvec3 Workgroup (shared) memory
variables into scalar arrays (e.g. shared vec3 arr[N][M] -> shared float
arr[N][M][3]), rewriting whole-vector loads/stores into per-component
scalar loads/stores. Component-level accesses (e.g. arr[i].x) are
unchanged since a trailing component index into a float[3] yields the
same scalar pointer as it did for a vec3.
Unlike the regex hack, the pass is application-agnostic: it does not
match on variable names, array dimensions, or shader pack identity, and
runs at the SPIR-V level before SPIRV-Cross decompilation.
Registered in SanitizeAndOptimizeBinary after AggressiveDCE so dead
workgroup accesses are already eliminated. Asserts on unsupported
OpAtomic*/OpCopyMemory targeting vec3 workgroup pointers.
Adds ProgramUtilTest.DecomposeWorkgroupVec3InSpirvPass covering array
declaration, +=, whole load/store, component access, and row-copy loop.
2026-07-05 23:48:27 +08:00
swung0x48
51d9fa91ed
[Fix] (MG_Impl/GLImpl, MG_Backend): fix piglit texture and buffer cases
2026-07-03 08:51:22 +08:00
swung0x48
6c7c5a1bc7
[Fix] (MG_Util/ShaderTranspiler): rename "sampler" in parameter name to avoid driver compiler issues
2026-06-30 22:31:49 +08:00
swung0x48
2f1949e093
[Feat] (iOS): support MobileGL builds and Metal surfaces
2026-06-30 07:25:20 +08:00
swung0x48
f121aeb57f
[Feat] (MG_Impl): add macOS CGL and NSOpenGL frontends
2026-06-28 20:33:14 +08:00
swung0x48
0ef9c76224
[Feat] (MG_Backend/DirectVulkan): support macOS Metal surfaces
2026-06-28 14:19:51 +08:00
swung0x48
42e3cce8c3
[Fix] (ci): force info MobileGL log level
2026-06-17 13:59:38 +08:00
swung0x48
ef3e8da1b5
[Feat] (trace-replay): add Linux retrace CI
2026-06-15 18:08:55 +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
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
a345369269
[Fix] (MG_Backend/DirectVulkan): fix null dereference crash in VkClearManager
2026-05-06 13:15:08 +08:00
swung0x48
4321c4a827
[Submodule] (3rdparty/SPIRV-Reflect): add SPIRV-Reflect as dependency
2026-03-29 00:03:57 +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
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
4a38e7224e
Merge branch 'dev' into Feat/Backend-Direct-Vulkan
2026-03-08 10:31:44 +08:00
swung0x48
5f9d354adb
[Fix] (CMakeLists): add absent source file
2026-03-03 15:05:33 +08:00
swung0x48
6ff97a9bb1
[Feat] (MG_Backend/DirectVulkan): new VkRenderPassManager and a bunch of changes accordingly
2026-02-28 17:37:45 +08:00
swung0x48
e2e52965df
[Feat] (MG_Backend/DirectVulkan): VkClearManager
2026-02-25 16:12:33 +08:00
swung0x48
a757669df5
[Improvement] (MG_Backend/DirectVulkan): split TextureSamplerManager into TextureManager and SamplerManager
2026-02-24 15:19:34 +08:00
swung0x48
e0d0551e7b
[Chore] (MG_Test/Backend/DirectVulkan/TestExec): FramebufferManager -> RenderTargetManager
2026-02-24 13:07:50 +08:00
swung0x48
5efdb1016e
[Fix] (MG_Backend/DirectVulkan): make vk_enum_string_helper.h available on Android NDK
2026-02-23 22:11:30 +08:00
BZLZHH
d22d2d64f2
[Feat|Fix] (MG_State/EGLState|MG_Backend|MG_Impl/EGLImpl): Initial implemention of EGL API.
2026-02-22 18:22:21 +08:00
BZLZHH
9e90d9508b
[Feat] (Core): Add env config loader and refactor initialization entrypoints.
2026-02-21 22:08:55 +08:00
BZLZHH
033ba16aff
[Refactor] (MG_Backend/DirectVulkan): Decouple default render pass management from VulkanRenderer.
2026-02-21 19:50:26 +08:00
BZLZHH
ccd51bf2d3
Merge branch 'dev' into Feat/Backend-Direct-Vulkan
2026-02-21 15:02:59 +08:00
BZLZHH
8413874e82
[Feat|Refactor] (MG_Backend|MG_Impl): Implement BackendObject, replacing previous methods.
2026-02-18 10:36:56 +08:00
swung0x48
c810b27a83
[Feat] (MG_Backend/DirectVulkan): initial implementation of VkTextureSamplerManager, only fallback path available now
2026-02-17 22:31:56 +08:00
swung0x48
e132e9edc1
[Feat] (MG_Backend/DirectVulkan): inital FBO implementation, and blit framebuffer
2026-02-17 19:39:10 +08:00
swung0x48
fe6e7902d3
[Feat] (MG_Backend/DirectVulkan): implements uniform, ubo
2026-02-17 17:16:08 +08:00
swung0x48
f7ea6cd1d9
[Feat] (MG_Backend/DirectVulkan): dynamically load vulkan functions for vma
2026-02-17 12:47:01 +08:00
swung0x48
5f6a0b5969
[Feat] (MG_Backend/DirectVulkan): Pipeline factory
2026-02-17 10:57:39 +08:00
swung0x48
324498ccac
[Feat] (MG_Backend/DirectVulkan): vertex input state factory
2026-02-17 10:24:01 +08:00
swung0x48
206d8ab36a
[Feat] (MG_Backend/DirectVulkan): vertex input state builder
2026-02-17 10:11:24 +08:00
swung0x48
7b7e00dbb3
[Feat] (MG_Test/Backend/DirectVulkan): test glDrawElements
2026-02-17 09:48:36 +08:00
swung0x48
2ad1207a31
[Feat] (MG_Backend/DirectVulkan): ProgramFactory and some refactoring
2026-02-16 22:29:04 +08:00
swung0x48
8f57e837b8
[Chore] (MG_Test/Backend/DirectVulkan): encapsulate FrameContext (cont.)
2026-02-16 12:04:55 +08:00
swung0x48
0ac4d8658d
[Fix] (MG_Test/Backend/DirectVulkan): more swapchain logic encapsulated, fix compilation
2026-02-16 10:47:42 +08:00
swung0x48
beb9301282
[Feat] (MG_Backend/DirectVulkan): get rid of stuff that no longer needed
2026-02-13 15:24:18 +08:00
swung0x48
b806397ae3
[Feat] (MG_Backend/DirectVulkan/RenderStateManager): impelement RenderStateManager
2026-02-09 22:16:22 +08:00
swung0x48
358efe4d1b
[Feat] (MG_Backend/DirectVulkan/VertexInputStateManager): impelement VertexInputStateManager
2026-02-09 21:31:27 +08:00
swung0x48
22bc4fbbc9
[Feat] (MG_Backend/DirectVulkan): ProgramManager - hash program object
2026-02-09 16:18:50 +08:00
swung0x48
0b332bdc58
[Chore] (3rdparty): add xxHash
2026-02-09 13:55:05 +08:00
swung0x48
fd530156a6
[Fix] (buildsystem): fix build on Windows
2026-02-08 10:00:08 +08:00
BZLZHH
9a6cf7fc7f
Merge branch 'dev' into Feat/Backend-Direct-Vulkan
2026-02-07 11:41:11 +08:00
BZLZHH
319806c48a
[Chore] (CMake): Support using check_c*_compiler_flag to detect LTO capability.
2026-02-05 00:55:42 +08:00
BZLZHH
b966ef8b5e
[Chore] (CMake): DO not link static lib for Android.
2026-02-03 16:36:40 +08:00
BZLZHH
3f0744a8ce
[Chore] (CMake): Use ThinLTO with priority if possible.
2026-02-02 22:57:29 +08:00
BZLZHH
1e58be34da
Merge remote-tracking branch 'origin/Feat/Backend-Direct-GLES' into Feat/Backend-Direct-GLES
2026-02-02 02:28:56 +08:00
BZLZHH
0cf9d9223d
[Feat|Perf] (*/BufferState): Improve dirty mark for Buffer.
2026-02-02 02:25:41 +08:00