Lines Matching refs:shader

36    struct brw_shader *shader;
38 shader = rzalloc(NULL, struct brw_shader);
39 if (shader) {
40 shader->base.Type = type;
41 shader->base.Name = name;
42 _mesa_init_shader(ctx, &shader->base);
45 return &shader->base;
61 * Performs a compile of the shader stages even when we don't know
87 struct brw_shader *shader =
95 if (!shader)
99 ctx->Driver.NewProgram(ctx, targets[stage], shader->base.Name);
104 _mesa_generate_parameters_list_for_uniforms(shProg, &shader->base,
115 if (shader->ir)
116 ralloc_free(shader->ir);
117 shader->ir = new(shader) exec_list;
118 clone_ir_list(mem_ctx, shader->ir, shader->base.ir);
120 do_mat_op_to_vec(shader->ir);
121 lower_instructions(shader->ir,
132 lower_if_to_cond_assign(shader->ir, 16);
134 do_lower_texture_projection(shader->ir);
136 brw_lower_texture_gradients(shader->ir);
137 do_vec_index_to_cond_assign(shader->ir);
138 brw_do_cubemap_normalize(shader->ir);
139 lower_noise(shader->ir);
140 lower_quadop_vector(shader->ir, false);
147 lower_variable_index_to_cond_assign(shader->ir,
151 lower_ubo_reference(&shader->base, shader->ir);
157 brw_do_channel_expressions(shader->ir);
158 brw_do_vector_splitting(shader->ir);
161 progress = do_lower_jumps(shader->ir, true, true,
167 progress = do_common_optimization(shader->ir, true, true, 32)
173 * Code generation doesn't happen until the first time this shader is
176 * get sent to the shader.
178 foreach_list(node, shader->ir) {
194 validate_ir_tree(shader->ir);
196 reparent_ir(shader->ir, shader->ir);
199 do_set_program_inouts(shader->ir, prog,
200 shader->base.Type == GL_FRAGMENT_SHADER);
202 prog->SamplersUsed = shader->base.active_samplers;
205 _mesa_reference_program(ctx, &shader->base.Program, prog);