[Feat] (MG_State/Program, DirectGLES): plumb ubo to backend

This commit is contained in:
2025-11-05 15:37:10 +08:00
parent c39c03d866
commit ef1924d7f9
7 changed files with 82 additions and 14 deletions
@@ -208,6 +208,9 @@ namespace MobileGL {
auto& ubo = m_program->getUniformBlock(i);
m_uniformBlockNameMaxLength = std::max(m_uniformBlockNameMaxLength, (Int)ubo.name.length());
m_uniformBlockIndexByName[ubo.name] = i;
// if there's binding defined in shader as layout(binding = ...),
// retrieve it here
m_uniformBlockBinding[i] = ubo.getBinding();
}
}
@@ -103,6 +103,10 @@ namespace MobileGL {
m_uniformBlockBinding[index] = binding;
}
Uint GetUniformBlockBinding(Uint index) const {
return m_uniformBlockBinding[index];
}
Vector<Vector<unsigned>>& GetGeneratedSpirv() { return m_generatedSpirv; }
Uint GetExternalIndex() const { return m_externalIndex; }