[Feat] (Diligent, MG_State): bind named application uniform blocks from frontend buffers

- Resolve named UBOs through SPIRV-Reflect type names when block names are empty
- Read the bound GL buffer range at the frontend uniform-block binding point and upload it as a Diligent uniform buffer
- Add DrawsNamedUniformBlockFromMobileGLState test; 12 Diligent tests pass
This commit is contained in:
BZLZHH
2026-08-23 09:35:32 +08:00
parent 7e765e1535
commit e829e70d8b
4 changed files with 159 additions and 10 deletions
@@ -117,6 +117,7 @@ namespace MobileGL::MG_Backend::DiligentBackend {
UnorderedMap<Uint64, TextureResource> m_textureCache;
UnorderedMap<Uint64, SamplerResource> m_samplerCache;
UnorderedMap<Uint32, TextureResource> m_renderbufferCache;
UnorderedMap<Uint64, ::Diligent::RefCntAutoPtr<::Diligent::IBuffer>> m_namedUboCache;
Uint32 m_width = 256;
Uint32 m_height = 256;
Uint32 m_lastDrawVertexCount = 0;