+int glsl_get_struct_field_offset(const struct glsl_type *type,
+ unsigned index);
+
+const struct glsl_struct_field *
+glsl_get_struct_field_data(const struct glsl_type *type, unsigned index);
+
+enum glsl_interface_packing
+glsl_get_internal_ifc_packing(const struct glsl_type *type,
+ bool std430_supported);
+enum glsl_interface_packing
+glsl_get_ifc_packing(const struct glsl_type *type);
+
+unsigned glsl_get_std140_base_alignment(const struct glsl_type *type,
+ bool row_major);
+unsigned glsl_get_std140_size(const struct glsl_type *type, bool row_major);
+unsigned glsl_get_std430_base_alignment(const struct glsl_type *type,
+ bool row_major);
+unsigned glsl_get_std430_size(const struct glsl_type *type, bool row_major);
+unsigned glsl_get_explicit_stride(const struct glsl_type *type);
+int glsl_array_size(const struct glsl_type *type);