Lines Matching defs:output
65 * Validate the types and qualifiers of an output from one stage against the
72 const ir_variable *output,
89 if (type_to_match != output->type) {
90 if (output->type->is_struct()) {
96 if (!output->type->record_compare(type_to_match,
101 "%s shader output `%s' declared as struct `%s', "
105 output->name,
106 output->type->name,
110 } else if (!output->type->is_array() || !is_gl_identifier(output->name)) {
130 "%s shader output `%s' declared as type `%s', "
133 output->name,
134 output->type->name,
152 input->data.centroid != output->data.centroid) {
154 "%s shader output `%s' %s centroid qualifier, "
157 output->name,
158 (output->data.centroid) ? "has" : "lacks",
164 if (input->data.sample != output->data.sample) {
166 "%s shader output `%s' %s sample qualifier, "
169 output->name,
170 (output->data.sample) ? "has" : "lacks",
176 if (input->data.patch != output->data.patch) {
178 "%s shader output `%s' %s patch qualifier, "
181 output->name,
182 (output->data.patch) ? "has" : "lacks",
190 * "As only outputs need be declared with invariant, an output from
205 if (input->data.explicit_invariant != output->data.explicit_invariant &&
208 "%s shader output `%s' %s invariant qualifier, "
211 output->name,
212 (output->data.explicit_invariant) ? "has" : "lacks",
235 unsigned output_interpolation = output->data.interpolation;
246 "%s shader output `%s' specifies %s "
251 output->name,
252 interpolation_string(output->data.interpolation),
258 "%s shader output `%s' specifies %s "
263 output->name,
264 interpolation_string(output->data.interpolation),
611 * Check if we should force input / output matching between shader
632 * it is not an error to not statically write to the output (it
691 * of the corresponding producer output.
725 ir_variable *output = NULL;
749 output = output_explicit_locations[idx][input->data.location_frac].var;
751 if (output == NULL) {
753 * output declaration and there is Static Use of the
759 "has no matching output\n",
764 } else if (input->data.location != output->data.location) {
767 "has no matching output\n",
775 output = parameters.get_variable(input->name);
778 if (output != NULL) {
783 output->get_interface_type()))
784 cross_validate_types_and_qualifiers(consts, prog, input, output,
788 /* Check for input vars with unmatched output vars in prev stage
790 * output but with different name, so we ignore them.
798 "has no matching output in the previous stage\n",