#include "program.h"
#include "ir_reader.h"
#include "standalone_scaffolding.h"
+#include "main/mtypes.h"
using namespace std;
return do_constant_variable(ir);
} else if (strcmp(optimization, "do_constant_variable_unlinked") == 0) {
return do_constant_variable_unlinked(ir);
- } else if (strcmp(optimization, "do_copy_propagation") == 0) {
- return do_copy_propagation(ir);
} else if (strcmp(optimization, "do_copy_propagation_elements") == 0) {
return do_copy_propagation_elements(ir);
} else if (strcmp(optimization, "do_constant_propagation") == 0) {
return do_if_simplification(ir);
} else if (sscanf(optimization, "lower_if_to_cond_assign ( %d ) ",
&int_0) == 1) {
- return lower_if_to_cond_assign(ir, int_0);
+ return lower_if_to_cond_assign(MESA_SHADER_VERTEX, ir, int_0);
} else if (strcmp(optimization, "do_mat_op_to_vec") == 0) {
return do_mat_op_to_vec(ir);
- } else if (strcmp(optimization, "do_noop_swizzle") == 0) {
- return do_noop_swizzle(ir);
+ } else if (strcmp(optimization, "optimize_swizzles") == 0) {
+ return optimize_swizzles(ir);
} else if (strcmp(optimization, "do_structure_splitting") == 0) {
return do_structure_splitting(ir);
- } else if (strcmp(optimization, "do_swizzle_swizzle") == 0) {
- return do_swizzle_swizzle(ir);
} else if (strcmp(optimization, "do_tree_grafting") == 0) {
return do_tree_grafting(ir);
} else if (strcmp(optimization, "do_vec_index_to_cond_assign") == 0) {
} else if (sscanf(optimization, "lower_instructions ( %d ) ",
&int_0) == 1) {
return lower_instructions(ir, int_0);
- } else if (strcmp(optimization, "lower_noise") == 0) {
- return lower_noise(ir);
} else if (sscanf(optimization, "lower_variable_index_to_cond_assign "
"( %d , %d , %d , %d ) ", &int_0, &int_1, &int_2,
&int_3) == 4) {
int loop = 0;
int shader_type = GL_VERTEX_SHADER;
int quiet = 0;
+ int error;
const struct option optpass_opts[] = {
{ "input-ir", no_argument, &input_format_ir, 1 },
struct gl_context *ctx = &local_ctx;
initialize_context_to_defaults(ctx, API_OPENGL_COMPAT);
- ctx->Driver.NewShader = _mesa_new_shader;
ir_variable::temporaries_allocate_names = true;
struct gl_shader *shader = rzalloc(NULL, struct gl_shader);
shader->Source = input.c_str();
const char *source = shader->Source;
state->error = glcpp_preprocess(state, &source, &state->info_log,
- state->extensions, ctx) != 0;
+ NULL, NULL, ctx) != 0;
if (!state->error) {
_mesa_glsl_lexer_ctor(state, source);
printf("--\n");
}
+ error = state->error;
+
ralloc_free(state);
ralloc_free(shader);
- return state->error;
+ return error;
}