+static INLINE size_t
+draw_vinfo_size( const struct vertex_info *a )
+{
+ return offsetof(const struct vertex_info, attrib[a->num_attribs]);
+}
+
+static INLINE int
+draw_vinfo_compare( const struct vertex_info *a,
+ const struct vertex_info *b )
+{
+ size_t sizea = draw_vinfo_size( a );
+ return memcmp( a, b, sizea );
+}
+
+static INLINE void
+draw_vinfo_copy( struct vertex_info *dst,
+ const struct vertex_info *src )
+{
+ size_t size = draw_vinfo_size( src );
+ memcpy( dst, src, size );
+}
+