summaryrefslogtreecommitdiffstats
path: root/src/glsl/ast_function.cpp
diff options
context:
space:
mode:
authorMatt Turner <[email protected]>2013-06-10 13:28:40 -0700
committerMatt Turner <[email protected]>2013-07-11 20:58:58 -0700
commitb85f0c5121e4508af1125ff30db4221bcda10ac9 (patch)
tree7b46ca8ca0e5806d4dde7917ad8335978f34d811 /src/glsl/ast_function.cpp
parentce2464a8a70e8449cb8b927fe4ae485dc93cfda3 (diff)
glsl: Clean up and clarify comment explaining initializer rules.
Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/glsl/ast_function.cpp')
-rw-r--r--src/glsl/ast_function.cpp20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/glsl/ast_function.cpp b/src/glsl/ast_function.cpp
index 4b0b87351f5..bbc607ac4e3 100644
--- a/src/glsl/ast_function.cpp
+++ b/src/glsl/ast_function.cpp
@@ -1311,13 +1311,19 @@ ast_function_expression::hir(exec_list *instructions,
}
- /* There are two kinds of constructor call. Constructors for built-in
- * language types, such as mat4 and vec2, are free form. The only
- * requirement is that the parameters must provide enough values of the
- * correct scalar type. Constructors for arrays and structures must
- * have the exact number of parameters with matching types in the
- * correct order. These constructors follow essentially the same type
- * matching rules as functions.
+ /* There are two kinds of constructor calls. Constructors for arrays and
+ * structures must have the exact number of arguments with matching types
+ * in the correct order. These constructors follow essentially the same
+ * type matching rules as functions.
+ *
+ * Constructors for built-in language types, such as mat4 and vec2, are
+ * free form. The only requirements are that the parameters must provide
+ * enough values of the correct scalar type and that no arguments are
+ * given past the last used argument.
+ *
+ * When using the C-style initializer syntax from GLSL 4.20, constructors
+ * must have the exact number of arguments with matching types in the
+ * correct order.
*/
if (constructor_type->is_record()) {
exec_list actual_parameters;