decodeUniformBlock function Debugging and profiling
Decodes bytes, packed to block's std140 layout, into one value per
member. Members past the end of bytes decode empty rather than failing,
so a short buffer still reports what it holds.
Implementation
List<ShaderUniformValue> decodeUniformBlock(
ShaderUniformBlockInfo block,
ByteData bytes,
) {
final values = <ShaderUniformValue>[];
for (final field in block.fields) {
values.add(
ShaderUniformValue(field: field, values: _decodeField(field, bytes)),
);
}
return values;
}