mesa: Set query->EverBound in glQueryCounter().
[mesa.git] / src / mesa / main / ff_fragment_shader.cpp
index 186988bbd7016ddc0a194b189ffde882553239b5..86317efcd5156d96492e4df11d2413566fd3345f 100644 (file)
@@ -31,6 +31,7 @@ extern "C" {
 #include "glheader.h"
 #include "imports.h"
 #include "mtypes.h"
+#include "main/context.h"
 #include "main/uniforms.h"
 #include "main/macros.h"
 #include "main/samplerobj.h"
@@ -50,7 +51,6 @@ extern "C" {
 #include "../glsl/glsl_symbol_table.h"
 #include "../glsl/glsl_parser_extras.h"
 #include "../glsl/ir_optimization.h"
-#include "../glsl/ir_print_visitor.h"
 #include "../program/ir_to_mesa.h"
 
 using namespace ir_builder;
@@ -1309,7 +1309,7 @@ create_new_program(struct gl_context *ctx, struct state_key *key)
 
    state->language_version = 130;
    state->es_shader = false;
-   if (ctx->Extensions.OES_EGL_image_external)
+   if (_mesa_is_gles(ctx) && ctx->Extensions.OES_EGL_image_external)
       state->OES_EGL_image_external_enable = true;
    _mesa_glsl_initialize_types(state);
    _mesa_glsl_initialize_variables(p.instructions, state);
@@ -1336,7 +1336,10 @@ create_new_program(struct gl_context *ctx, struct state_key *key)
 
    validate_ir_tree(p.shader->ir);
 
-   while (do_common_optimization(p.shader->ir, false, false, 32))
+   const struct gl_shader_compiler_options *options =
+      &ctx->ShaderCompilerOptions[MESA_SHADER_FRAGMENT];
+
+   while (do_common_optimization(p.shader->ir, false, false, 32, options))
       ;
    reparent_ir(p.shader->ir, p.shader->ir);
 
@@ -1350,22 +1353,6 @@ create_new_program(struct gl_context *ctx, struct state_key *key)
 
    _mesa_glsl_link_shader(ctx, p.shader_program);
 
-   /* Set the sampler uniforms, and relink to get them into the linked
-    * program.
-    */
-   struct gl_shader *const fs =
-      p.shader_program->_LinkedShaders[MESA_SHADER_FRAGMENT];
-   struct gl_program *const fp = fs->Program;
-
-   _mesa_generate_parameters_list_for_uniforms(p.shader_program, fs,
-                                              fp->Parameters);
-
-   _mesa_associate_uniform_storage(ctx, p.shader_program, fp->Parameters);
-
-   _mesa_update_shader_textures_used(p.shader_program, fp);
-   if (ctx->Driver.SamplerUniformChange)
-      ctx->Driver.SamplerUniformChange(ctx, fp->Target, fp);
-
    if (!p.shader_program->LinkStatus)
       _mesa_problem(ctx, "Failed to link fixed function fragment shader: %s\n",
                    p.shader_program->InfoLog);