glsl2: Make gl_FragData be available in GLSL 1.10 too
authorIan Romanick <ian.d.romanick@intel.com>
Tue, 29 Jun 2010 22:10:09 +0000 (15:10 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Tue, 29 Jun 2010 22:19:42 +0000 (15:19 -0700)
src/glsl/ir_variable.cpp

index 44c3065107f2d7d3390d1606b8b915ece03ce1a7..6e466fa6d1eff46f4ac350393663bd3122d43a31 100644 (file)
@@ -30,6 +30,9 @@
 #define Elements(x) (sizeof(x)/sizeof(*(x)))
 #endif
 
+static void generate_ARB_draw_buffers_fs_variables(exec_list *,
+    struct _mesa_glsl_parse_state *, bool);
+
 static ir_variable *
 add_variable(const char *name, enum ir_variable_mode mode, int slot,
             const glsl_type *type, exec_list *instructions,
@@ -246,6 +249,8 @@ generate_110_fs_variables(exec_list *instructions,
 
    add_variable("gl_TexCoord", ir_var_in, FRAG_ATTRIB_TEX0, vec4_array_type,
                instructions, state->symbols);
+
+   generate_ARB_draw_buffers_fs_variables(instructions, state, false);
 }
 
 
@@ -272,7 +277,6 @@ generate_120_fs_variables(exec_list *instructions,
                          struct _mesa_glsl_parse_state *state)
 {
    generate_110_fs_variables(instructions, state);
-   generate_ARB_draw_buffers_fs_variables(instructions, state, false);
 }
 
 static void
@@ -309,17 +313,6 @@ initialize_fs_variables(exec_list *instructions,
       generate_130_fs_variables(instructions, state);
       break;
    }
-
-
-   /* Since GL_ARB_draw_buffers is included in GLSL 1.20 and later, we
-    * can basically ignore any extension settings for it.
-    */
-   if (state->language_version < 120) {
-      if (state->ARB_draw_buffers_enable) {
-        generate_ARB_draw_buffers_fs_variables(instructions, state,
-                                               state->ARB_draw_buffers_warn);
-      }
-   }
 }
 
 void