glsl/linker: Don’t check precision for shader interface
[mesa.git] / src / compiler / glsl / link_varyings.cpp
index 4e00840c53e84b77c76d6e623ff072c3a7f76c3a..1263d6cbdb18db27aacf38e6617ba928e9f520da 100644 (file)
@@ -218,9 +218,12 @@ cross_validate_types_and_qualifiers(struct gl_context *ctx,
          /* Structures across shader stages can have different name
           * and considered to match in type if and only if structure
           * members match in name, type, qualification, and declaration
-          * order.
+          * order. The precision doesn’t need to match.
           */
-         if (!output->type->record_compare(type_to_match, false, true)) {
+         if (!output->type->record_compare(type_to_match,
+                                           false, /* match_name */
+                                           true, /* match_locations */
+                                           false /* match_precision */)) {
             linker_error(prog,
                   "%s shader output `%s' declared as struct `%s', "
                   "doesn't match in type with %s shader input "