Lines Matching defs:consumer
789 gl_linked_shader *consumer)
819 /* Find all shader inputs in the "consumer" stage. Any variables that have
823 * Exception: if the consumer is the geometry shader, then the inputs
827 foreach_in_list(ir_instruction, node, consumer->ir) {
842 consumer->Stage, producer->Stage);
852 consumer->Stage, producer->Stage);
863 const glsl_type *type = get_varying_type(input, consumer->Stage);
866 compute_variable_location_slot(input, consumer->Stage);
871 input, prog, consumer)) {
879 _mesa_shader_stage_to_string(consumer->Stage));
894 _mesa_shader_stage_to_string(consumer->Stage),
902 _mesa_shader_stage_to_string(consumer->Stage),
919 consumer->Stage,
933 _mesa_shader_stage_to_string(consumer->Stage),
1712 * stage (the "producer") and inputs of another (the "consumer").
1786 * and a single consumer input.
1805 * The input variable in the consumer stage.
1886 * Record the given producer/consumer variable pair in the list of variables
1891 * not consumed by the consumer).
1929 * If the consumer stage is unknown, don't modify the interpolation
1956 /* We must use the consumer to compute the packing class because in GL4.4+
2167 * Update the producer and consumer shaders to reflect the locations
2560 * - For !consumer, consumer_inputs_with_locations is empty.
2562 * For consumer && producer, if you were trying to set some
2564 * of producer/consumer, cross_validate_outputs_to_inputs() should
2590 * Find a variable from the consumer that "matches" the specified variable
2731 * (the "producer") and consumed in the next stage (the "consumer").
2745 * When num_tfeedback_decls is nonzero, it is permissible for the consumer to
2754 gl_linked_shader *consumer,
2765 (consumer && consumer->Stage == MESA_SHADER_TESS_EVAL) ||
2766 (consumer && consumer->Stage == MESA_SHADER_TESS_CTRL) ||
2793 if (prog->SeparateShader && (producer == NULL || consumer == NULL))
2801 consumer ? consumer->Stage : MESA_SHADER_NONE);
2817 if (consumer && consumer->Stage == MESA_SHADER_GEOMETRY)
2832 * 4. Mark input variables in the consumer that do not have locations as
2835 if (consumer)
2836 canonicalize_shader_io(consumer->ir, ir_var_shader_in);
2841 if (consumer)
2842 linker::populate_consumer_input_sets(mem_ctx, consumer->ir,
2891 * consumer stage, add the output.
2896 if (input_var || (prog->SeparateShader && consumer == NULL) ||
2917 foreach_in_list(ir_instruction, node, consumer->ir) {
2941 * to preserve the rest of the array for the consumer.
2951 (!consumer || consumer->Stage == MESA_SHADER_FRAGMENT) &&
3025 if (consumer && producer) {
3026 foreach_in_list(ir_instruction, node, consumer->ir) {
3046 _mesa_shader_stage_to_string(consumer->Stage),
3052 _mesa_shader_stage_to_string(consumer->Stage),
3060 * we have both a producer and consumer its safe to remove unused
3066 remove_unused_shader_inputs_and_outputs(false, consumer,
3076 if (consumer) {
3078 consumer_vertices, consumer, disable_varying_packing,
3132 gl_linked_shader *consumer,
3137 foreach_in_list(ir_instruction, node, consumer->ir) {
3142 var_counts_against_varying_limit(consumer->Stage, var)) {
3148 assert(consumer->Stage != MESA_SHADER_VERTEX);
3150 ctx->Const.Program[consumer->Stage].MaxInputComponents;
3157 _mesa_shader_stage_to_string(consumer->Stage),
3163 _mesa_shader_stage_to_string(consumer->Stage),
3271 sh /* consumer */,