break;
}
+ case GLSL_TYPE_INTERFACE:
case GLSL_TYPE_STRUCT:
*size = 0;
*align = 0;
case GLSL_TYPE_SUBROUTINE:
case GLSL_TYPE_VOID:
case GLSL_TYPE_ERROR:
- case GLSL_TYPE_INTERFACE:
case GLSL_TYPE_FUNCTION:
unreachable("type does not have a natural size");
}
return type->cl_alignment();
}
+void
+glsl_get_cl_type_size_align(const struct glsl_type *type,
+ unsigned *size, unsigned *align)
+{
+ *size = glsl_get_cl_size(type);
+ *align = glsl_get_cl_alignment(type);
+}
+
unsigned
glsl_type_get_sampler_count(const struct glsl_type *type)
{
return type->explicit_size(align_to_stride);
}
+unsigned
+glsl_get_explicit_alignment(const struct glsl_type *type)
+{
+ return type->explicit_alignment;
+}
+
+bool
+glsl_type_is_packed(const struct glsl_type *type)
+{
+ return type->packed;
+}
+
bool
glsl_type_is_leaf(const struct glsl_type *type)
{