glsl: Remove ir_print_visitor.h includes and usage
[mesa.git] / src / glsl / main.cpp
index 04143ad43738c953fc45d88324fbce19db2686a6..5713ee5dc2f76bfee92d4e6968eaf8593a8f1f68 100644 (file)
@@ -34,7 +34,6 @@
 #include "ast.h"
 #include "glsl_parser_extras.h"
 #include "ir_optimization.h"
-#include "ir_print_visitor.h"
 #include "program.h"
 #include "loop_analysis.h"
 #include "standalone_scaffolding.h"
@@ -47,7 +46,8 @@ initialize_context(struct gl_context *ctx, gl_api api)
    /* The standalone compiler needs to claim support for almost
     * everything in order to compile the built-in functions.
     */
-   ctx->Const.GLSLVersion = 140;
+   ctx->Const.GLSLVersion = 150;
+   ctx->Extensions.ARB_ES3_compatibility = true;
 
    ctx->Const.MaxClipPlanes = 8;
    ctx->Const.MaxDrawBuffers = 2;
@@ -145,7 +145,7 @@ compile_shader(struct gl_context *ctx, struct gl_shader *shader)
 
    const char *source = shader->Source;
    state->error = glcpp_preprocess(state, &source, &state->info_log,
-                            state->extensions, ctx->API) != 0;
+                            state->extensions, ctx) != 0;
 
    if (!state->error) {
       _mesa_glsl_lexer_ctor(state, source);
@@ -173,9 +173,11 @@ compile_shader(struct gl_context *ctx, struct gl_shader *shader)
 
    /* Optimization passes */
    if (!state->error && !shader->ir->is_empty()) {
+      const struct gl_shader_compiler_options *opts =
+         &ctx->ShaderCompilerOptions[_mesa_shader_type_to_index(shader->Type)];
       bool progress;
       do {
-        progress = do_common_optimization(shader->ir, false, false, 32);
+        progress = do_common_optimization(shader->ir, false, false, 32, opts);
       } while (progress);
 
       validate_ir_tree(shader->ir);
@@ -190,6 +192,7 @@ compile_shader(struct gl_context *ctx, struct gl_shader *shader)
    shader->symbols = state->symbols;
    shader->CompileStatus = !state->error;
    shader->Version = state->language_version;
+   shader->IsES = state->es_shader;
    memcpy(shader->builtins_to_link, state->builtins_to_link,
          sizeof(shader->builtins_to_link[0]) * state->num_builtins_to_link);
    shader->num_builtins_to_link = state->num_builtins_to_link;
@@ -223,7 +226,7 @@ main(int argc, char **argv)
    if (argc <= optind)
       usage_fail(argv[0]);
 
-   initialize_context(ctx, (glsl_es) ? API_OPENGLES2 : API_OPENGL);
+   initialize_context(ctx, (glsl_es) ? API_OPENGLES2 : API_OPENGL_COMPAT);
 
    struct gl_shader_program *whole_program;