- layout_descriptor += format("%d:%x\n", b.bind_point, b.layout_hash);
- layout_hash = hash32(layout_descriptor);
+ {
+ layout_hash = hash_update<32>(layout_hash, b.bind_point);
+ layout_hash = hash_update<32>(layout_hash, b.layout_hash);
+ }
+}
+
+void ReflectData::update_used_bindings()
+{
+ for(const UniformInfo &u: uniforms)
+ if(u.binding>=0 && is_image(u.type))
+ used_bindings.push_back(u.binding|TEXTURE_BINDING);
+ for(const UniformBlockInfo &b: uniform_blocks)
+ used_bindings.push_back(b.bind_point|UNIFORM_BLOCK_BINDING);
+ sort(used_bindings);