[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

mesa: Changes to 'upstream-experimental'



 Makefile                                                      |    6 
 src/egl/drivers/dri2/egl_dri2.c                               |   14 
 src/egl/main/eglcontext.c                                     |   21 
 src/egl/main/egldriver.h                                      |    2 
 src/gallium/drivers/llvmpipe/lp_bld_depth.c                   |    2 
 src/gallium/drivers/r300/r300_chipset.c                       |    1 
 src/gallium/drivers/r300/r300_chipset.h                       |    2 
 src/gallium/drivers/r300/r300_context.c                       |   17 
 src/gallium/drivers/r300/r300_context.h                       |    4 
 src/gallium/drivers/r300/r300_reg.h                           |    2 
 src/gallium/drivers/r300/r300_render.c                        |    3 
 src/gallium/drivers/r300/r300_screen.c                        |    3 
 src/gallium/drivers/r300/r300_state.c                         |   72 
 src/gallium/drivers/r300/r300_state_derived.c                 |  109 -
 src/gallium/drivers/r300/r300_texture.c                       |   19 
 src/gallium/drivers/r300/r300_texture.h                       |    6 
 src/gallium/drivers/r300/r300_texture_desc.c                  |   52 
 src/gallium/drivers/r300/r300_texture_desc.h                  |    2 
 src/gallium/state_trackers/egl/Makefile                       |    2 
 src/gallium/state_trackers/egl/x11/native_x11.h               |    1 
 src/gallium/state_trackers/vega/api_context.c                 |    7 
 src/gallium/targets/Makefile.dri                              |    2 
 src/gallium/targets/dri-vmwgfx/Makefile                       |    1 
 src/gallium/targets/dri-vmwgfx/vmw_powf.c                     |   17 
 src/gallium/winsys/radeon/drm/radeon_drm.h                    |  209 ++
 src/glsl/Makefile                                             |    3 
 src/glsl/SConscript                                           |    3 
 src/glsl/ast_function.cpp                                     |    2 
 src/glsl/ast_to_hir.cpp                                       |  127 +
 src/glsl/builtin_types.h                                      |    4 
 src/glsl/builtins/tools/generate_builtins.py                  |   16 
 src/glsl/glcpp/glcpp-lex.c                                    |    4 
 src/glsl/glcpp/glcpp-lex.l                                    |    4 
 src/glsl/glcpp/glcpp-parse.c                                  |  409 +---
 src/glsl/glcpp/glcpp-parse.h                                  |    7 
 src/glsl/glcpp/glcpp-parse.y                                  |    9 
 src/glsl/glcpp/glcpp.c                                        |    8 
 src/glsl/glsl_lexer.cpp                                       | 1021 +++++-----
 src/glsl/glsl_lexer.lpp                                       |   13 
 src/glsl/glsl_parser.cpp                                      |   20 
 src/glsl/glsl_parser.h                                        |    6 
 src/glsl/glsl_parser_extras.cpp                               |    1 
 src/glsl/ir.cpp                                               |  190 +
 src/glsl/ir.h                                                 |   33 
 src/glsl/ir_algebraic.cpp                                     |    4 
 src/glsl/ir_constant_expression.cpp                           |  111 -
 src/glsl/ir_dead_functions.cpp                                |    2 
 src/glsl/ir_function_can_inline.cpp                           |    2 
 src/glsl/ir_lower_jumps.cpp                                   |   19 
 src/glsl/ir_optimization.h                                    |    2 
 src/glsl/ir_set_program_inouts.cpp                            |   35 
 src/glsl/linker.cpp                                           |  218 +-
 src/glsl/loop_analysis.cpp                                    |    1 
 src/glsl/loop_controls.cpp                                    |    3 
 src/glsl/loop_unroll.cpp                                      |  125 -
 src/glsl/lower_discard.cpp                                    |  198 +
 src/glsl/main.cpp                                             |   34 
 src/glsl/opt_discard_simplification.cpp                       |  180 +
 src/glsl/s_expression.cpp                                     |    2 
 src/glsl/s_expression.h                                       |    1 
 src/glsl/strtod.c                                             |   56 
 src/glsl/strtod.h                                             |   43 
 src/mesa/Makefile                                             |    4 
 src/mesa/drivers/common/meta.c                                |   32 
 src/mesa/drivers/dri/i915/i915_fragprog.c                     |    6 
 src/mesa/drivers/dri/i965/brw_disasm.c                        |    2 
 src/mesa/drivers/dri/i965/brw_eu_emit.c                       |   10 
 src/mesa/drivers/dri/i965/brw_fs.cpp                          |   17 
 src/mesa/drivers/dri/i965/brw_program.c                       |   12 
 src/mesa/drivers/dri/i965/brw_structs.h                       |   12 
 src/mesa/drivers/dri/i965/brw_vs_emit.c                       |    3 
 src/mesa/drivers/dri/i965/brw_wm_emit.c                       |    1 
 src/mesa/drivers/dri/i965/brw_wm_state.c                      |   13 
 src/mesa/drivers/dri/i965/brw_wm_surface_state.c              |    3 
 src/mesa/drivers/dri/intel/intel_blit.c                       |    7 
 src/mesa/drivers/dri/intel/intel_chipset.h                    |    4 
 src/mesa/drivers/dri/intel/intel_context.c                    |    1 
 src/mesa/drivers/dri/intel/intel_fbo.c                        |   11 
 src/mesa/drivers/dri/intel/intel_span.c                       |    1 
 src/mesa/drivers/dri/intel/intel_tex_copy.c                   |    2 
 src/mesa/drivers/dri/r200/r200_swtcl.c                        |    7 
 src/mesa/drivers/dri/r200/r200_tcl.c                          |    5 
 src/mesa/drivers/dri/r300/compiler/r300_fragprog_emit.c       |    3 
 src/mesa/drivers/dri/r300/compiler/r300_fragprog_swizzle.c    |   12 
 src/mesa/drivers/dri/r300/compiler/r3xx_fragprog.c            |   29 
 src/mesa/drivers/dri/r300/compiler/r500_fragprog_emit.c       |    3 
 src/mesa/drivers/dri/r300/compiler/radeon_dataflow.c          |    9 
 src/mesa/drivers/dri/r300/compiler/radeon_dataflow_swizzles.c |    1 
 src/mesa/drivers/dri/r300/compiler/radeon_optimize.c          |   21 
 src/mesa/drivers/dri/r300/compiler/radeon_pair_regalloc.c     |   31 
 src/mesa/drivers/dri/r300/compiler/radeon_pair_schedule.c     |   40 
 src/mesa/drivers/dri/r300/compiler/radeon_pair_translate.c    |    5 
 src/mesa/drivers/dri/r300/r300_draw.c                         |    4 
 src/mesa/drivers/dri/r300/r300_render.c                       |    2 
 src/mesa/drivers/dri/r600/evergreen_tex.c                     |    6 
 src/mesa/drivers/dri/r600/r700_assembler.c                    |   66 
 src/mesa/drivers/dri/radeon/radeon_common_context.c           |    9 
 src/mesa/drivers/dri/radeon/radeon_screen.c                   |    5 
 src/mesa/main/bufferobj.c                                     |   39 
 src/mesa/main/context.c                                       |   58 
 src/mesa/main/extensions.c                                    |    9 
 src/mesa/main/fbobject.c                                      |   14 
 src/mesa/main/formats.c                                       |   30 
 src/mesa/main/get.c                                           |   50 
 src/mesa/main/imports.c                                       |    3 
 src/mesa/main/mipmap.c                                        |  166 +
 src/mesa/main/mtypes.h                                        |    9 
 src/mesa/main/shaderapi.c                                     |  110 -
 src/mesa/main/shaderapi.h                                     |    8 
 src/mesa/main/shaderobj.c                                     |    8 
 src/mesa/main/texobj.c                                        |   38 
 src/mesa/main/texobj.h                                        |    3 
 src/mesa/program/ir_to_mesa.cpp                               |   88 
 src/mesa/program/prog_statevars.c                             |   22 
 src/mesa/program/prog_statevars.h                             |    1 
 src/mesa/state_tracker/st_cb_bufferobjects.c                  |   30 
 src/mesa/state_tracker/st_cb_eglimage.c                       |    1 
 src/mesa/state_tracker/st_cb_texture.c                        |    6 
 src/mesa/state_tracker/st_extensions.c                        |    2 
 src/mesa/state_tracker/st_gen_mipmap.c                        |    6 
 src/mesa/state_tracker/st_mesa_to_tgsi.c                      |   43 
 src/mesa/state_tracker/st_program.c                           |    2 
 src/mesa/swrast/s_texfilter.c                                 |    1 
 src/mesa/tnl/t_vb_program.c                                   |   32 
 124 files changed, 3222 insertions(+), 1448 deletions(-)

New commits:
commit 0ff45dd5d794be59f0eb3afd84a95eca57892d94
Author: Brian Paul <brianp@vmware.com>
Date:   Tue Nov 9 12:24:49 2010 -0700

    mesa: no-op glBufferSubData() on size==0
    
    Fixes http://bugs.freedesktop.org/show_bug.cgi?id=31439
    
    NOTE: this is a candidate for the 7.9 branch
    (cherry picked from commit 6e2e136428b97d2424ebe626a30d7237015f7ea3)

diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c
index d9eaada..4fe887f 100644
--- a/src/mesa/main/bufferobj.c
+++ b/src/mesa/main/bufferobj.c
@@ -1199,6 +1199,9 @@ _mesa_BufferSubDataARB(GLenum target, GLintptrARB offset,
       return;
    }
 
+   if (size == 0)
+      return;
+
    bufObj->Written = GL_TRUE;
 
    ASSERT(ctx->Driver.BufferSubData);

commit 4e7cdca57af3c49801cb8aa55686f82c03d64467
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Thu Dec 16 17:40:00 2010 -0800

    Remove OES_compressed_paletted_texture from the ES2 extension list.
    
    We don't support it.
    (cherry picked from commit d0f8eea9a06d8268a21ac58b134964a602f9594e)

diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c
index a146b94..7012474 100644
--- a/src/mesa/main/extensions.c
+++ b/src/mesa/main/extensions.c
@@ -867,8 +867,6 @@ make_extension_string_es2(const GLcontext *ctx, GLubyte *str)
 {
    size_t len = 0;
 
-   len += append_extension(&str, "GL_OES_compressed_paletted_texture");
-
    if (ctx->Extensions.ARB_framebuffer_object) {
       len += append_extension(&str, "GL_OES_depth24");
       len += append_extension(&str, "GL_OES_depth32");

commit 69cc35683267746a2ec2eab6e6af4308e4dcc860
Author: Brian Paul <brianp@vmware.com>
Date:   Mon Dec 13 08:41:08 2010 -0700

    glsl: new glsl_strtod() wrapper to fix decimal point interpretation
    
    We always want to use '.' as the decimal point.
    
    See http://bugs.freedesktop.org/show_bug.cgi?id=24531
    
    NOTE: this is a candidate for the 7.10 branch.
    
    (cherry picked from commit bb10e081c8ddc452bca44ba583f239219a5b9372)

diff --git a/src/glsl/Makefile b/src/glsl/Makefile
index 9a642d8..cee5182 100644
--- a/src/glsl/Makefile
+++ b/src/glsl/Makefile
@@ -16,6 +16,7 @@ GLCPP_SOURCES = \
 	glcpp/glcpp.c
 
 C_SOURCES = \
+	strtod.c \
 	$(LIBGLCPP_SOURCES)
 
 CXX_SOURCES = \
diff --git a/src/glsl/SConscript b/src/glsl/SConscript
index 209b5f0..53966dc 100644
--- a/src/glsl/SConscript
+++ b/src/glsl/SConscript
@@ -78,6 +78,7 @@ sources = [
     'opt_discard_simplification.cpp',
     'opt_redundant_jumps.cpp',
     's_expression.cpp',
+    'strtod.c',
 ]
 
 glsl = env.ConvenienceLibrary(
diff --git a/src/glsl/glsl_lexer.cpp b/src/glsl/glsl_lexer.cpp
index f3434f1..475effa 100644
--- a/src/glsl/glsl_lexer.cpp
+++ b/src/glsl/glsl_lexer.cpp
@@ -950,6 +950,7 @@ static yyconst flex_int16_t yy_chk[1144] =
  * DEALINGS IN THE SOFTWARE.
  */
 #include <ctype.h>
+#include "strtod.h"
 #include "ast.h"
 #include "glsl_parser_extras.h"
 #include "glsl_parser.h"
@@ -995,7 +996,7 @@ static yyconst flex_int16_t yy_chk[1144] =
       }									\
    } while (0)
 
-#line 999 "glsl_lexer.cpp"
+#line 1000 "glsl_lexer.cpp"
 
 #define INITIAL 0
 #define PP 1
@@ -1234,10 +1235,10 @@ YY_DECL
 	register int yy_act;
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
 
-#line 86 "glsl_lexer.lpp"
+#line 87 "glsl_lexer.lpp"
 
 
-#line 1241 "glsl_lexer.cpp"
+#line 1242 "glsl_lexer.cpp"
 
     yylval = yylval_param;
 
@@ -1323,7 +1324,7 @@ do_action:	/* This label is used only to access EOF actions. */
 
 case 1:
 YY_RULE_SETUP
-#line 88 "glsl_lexer.lpp"
+#line 89 "glsl_lexer.lpp"
 ;
 	YY_BREAK
 /* Preprocessor tokens. */ 
@@ -1332,17 +1333,17 @@ case 2:
 yyg->yy_c_buf_p = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 91 "glsl_lexer.lpp"
+#line 92 "glsl_lexer.lpp"
 ;
 	YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 92 "glsl_lexer.lpp"
+#line 93 "glsl_lexer.lpp"
 { BEGIN PP; return VERSION; }
 	YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 93 "glsl_lexer.lpp"
+#line 94 "glsl_lexer.lpp"
 { BEGIN PP; return EXTENSION; }
 	YY_BREAK
 case 5:
@@ -1350,7 +1351,7 @@ case 5:
 yyg->yy_c_buf_p = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 94 "glsl_lexer.lpp"
+#line 95 "glsl_lexer.lpp"
 {
 				   /* Eat characters until the first digit is
 				    * encountered
@@ -1372,7 +1373,7 @@ case 6:
 yyg->yy_c_buf_p = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 109 "glsl_lexer.lpp"
+#line 110 "glsl_lexer.lpp"
 {
 				   /* Eat characters until the first digit is
 				    * encountered
@@ -1390,7 +1391,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 123 "glsl_lexer.lpp"
+#line 124 "glsl_lexer.lpp"
 {
 				  BEGIN PP;
 				  return PRAGMA_DEBUG_ON;
@@ -1398,7 +1399,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 127 "glsl_lexer.lpp"
+#line 128 "glsl_lexer.lpp"
 {
 				  BEGIN PP;
 				  return PRAGMA_DEBUG_OFF;
@@ -1406,7 +1407,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 131 "glsl_lexer.lpp"
+#line 132 "glsl_lexer.lpp"
 {
 				  BEGIN PP;
 				  return PRAGMA_OPTIMIZE_ON;
@@ -1414,7 +1415,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 135 "glsl_lexer.lpp"
+#line 136 "glsl_lexer.lpp"
 {
 				  BEGIN PP;
 				  return PRAGMA_OPTIMIZE_OFF;
@@ -1422,38 +1423,38 @@ YY_RULE_SETUP
 	YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 139 "glsl_lexer.lpp"
+#line 140 "glsl_lexer.lpp"
 { BEGIN PRAGMA; }
 	YY_BREAK
 case 12:
 /* rule 12 can match eol */
 YY_RULE_SETUP
-#line 141 "glsl_lexer.lpp"
+#line 142 "glsl_lexer.lpp"
 { BEGIN 0; yylineno++; yycolumn = 0; }
 	YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 142 "glsl_lexer.lpp"
+#line 143 "glsl_lexer.lpp"
 { }
 	YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 144 "glsl_lexer.lpp"
+#line 145 "glsl_lexer.lpp"
 { }
 	YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 145 "glsl_lexer.lpp"
+#line 146 "glsl_lexer.lpp"
 { }
 	YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 146 "glsl_lexer.lpp"
+#line 147 "glsl_lexer.lpp"
 return COLON;
 	YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 147 "glsl_lexer.lpp"
+#line 148 "glsl_lexer.lpp"
 {
 				   yylval->identifier = strdup(yytext);
 				   return IDENTIFIER;
@@ -1461,7 +1462,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 151 "glsl_lexer.lpp"
+#line 152 "glsl_lexer.lpp"
 {
 				    yylval->n = strtol(yytext, NULL, 10);
 				    return INTCONSTANT;
@@ -1470,283 +1471,283 @@ YY_RULE_SETUP
 case 19:
 /* rule 19 can match eol */
 YY_RULE_SETUP
-#line 155 "glsl_lexer.lpp"
+#line 156 "glsl_lexer.lpp"
 { BEGIN 0; yylineno++; yycolumn = 0; return EOL; }
 	YY_BREAK
 case 20:
 /* rule 20 can match eol */
 YY_RULE_SETUP
-#line 157 "glsl_lexer.lpp"
+#line 158 "glsl_lexer.lpp"
 { yylineno++; yycolumn = 0; }
 	YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 159 "glsl_lexer.lpp"
+#line 160 "glsl_lexer.lpp"
 return ATTRIBUTE;
 	YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 160 "glsl_lexer.lpp"
+#line 161 "glsl_lexer.lpp"
 return CONST_TOK;
 	YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 161 "glsl_lexer.lpp"
+#line 162 "glsl_lexer.lpp"
 return BOOL_TOK;
 	YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 162 "glsl_lexer.lpp"
+#line 163 "glsl_lexer.lpp"
 return FLOAT_TOK;
 	YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 163 "glsl_lexer.lpp"
+#line 164 "glsl_lexer.lpp"
 return INT_TOK;
 	YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 165 "glsl_lexer.lpp"
+#line 166 "glsl_lexer.lpp"
 return BREAK;
 	YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 166 "glsl_lexer.lpp"
+#line 167 "glsl_lexer.lpp"
 return CONTINUE;
 	YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 167 "glsl_lexer.lpp"
+#line 168 "glsl_lexer.lpp"
 return DO;
 	YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 168 "glsl_lexer.lpp"
+#line 169 "glsl_lexer.lpp"
 return WHILE;
 	YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 169 "glsl_lexer.lpp"
+#line 170 "glsl_lexer.lpp"
 return ELSE;
 	YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 170 "glsl_lexer.lpp"
+#line 171 "glsl_lexer.lpp"
 return FOR;
 	YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 171 "glsl_lexer.lpp"
+#line 172 "glsl_lexer.lpp"
 return IF;
 	YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 172 "glsl_lexer.lpp"
+#line 173 "glsl_lexer.lpp"
 return DISCARD;
 	YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 173 "glsl_lexer.lpp"
+#line 174 "glsl_lexer.lpp"
 return RETURN;
 	YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 175 "glsl_lexer.lpp"
+#line 176 "glsl_lexer.lpp"
 return BVEC2;
 	YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 176 "glsl_lexer.lpp"
+#line 177 "glsl_lexer.lpp"
 return BVEC3;
 	YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 177 "glsl_lexer.lpp"
+#line 178 "glsl_lexer.lpp"
 return BVEC4;
 	YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 178 "glsl_lexer.lpp"
+#line 179 "glsl_lexer.lpp"
 return IVEC2;
 	YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 179 "glsl_lexer.lpp"
+#line 180 "glsl_lexer.lpp"
 return IVEC3;
 	YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 180 "glsl_lexer.lpp"
+#line 181 "glsl_lexer.lpp"
 return IVEC4;
 	YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 181 "glsl_lexer.lpp"
+#line 182 "glsl_lexer.lpp"
 return VEC2;
 	YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 182 "glsl_lexer.lpp"
+#line 183 "glsl_lexer.lpp"
 return VEC3;
 	YY_BREAK
 case 43:
 YY_RULE_SETUP
-#line 183 "glsl_lexer.lpp"
+#line 184 "glsl_lexer.lpp"
 return VEC4;
 	YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 184 "glsl_lexer.lpp"
+#line 185 "glsl_lexer.lpp"
 return MAT2X2;
 	YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 185 "glsl_lexer.lpp"
+#line 186 "glsl_lexer.lpp"
 return MAT3X3;
 	YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 186 "glsl_lexer.lpp"
+#line 187 "glsl_lexer.lpp"
 return MAT4X4;
 	YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 187 "glsl_lexer.lpp"
+#line 188 "glsl_lexer.lpp"
 TOKEN_OR_IDENTIFIER(120, MAT2X2);
 	YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 188 "glsl_lexer.lpp"
+#line 189 "glsl_lexer.lpp"
 TOKEN_OR_IDENTIFIER(120, MAT2X3);
 	YY_BREAK
 case 49:
 YY_RULE_SETUP
-#line 189 "glsl_lexer.lpp"
+#line 190 "glsl_lexer.lpp"
 TOKEN_OR_IDENTIFIER(120, MAT2X4);
 	YY_BREAK
 case 50:
 YY_RULE_SETUP
-#line 190 "glsl_lexer.lpp"
+#line 191 "glsl_lexer.lpp"
 TOKEN_OR_IDENTIFIER(120, MAT3X2);
 	YY_BREAK
 case 51:
 YY_RULE_SETUP
-#line 191 "glsl_lexer.lpp"
+#line 192 "glsl_lexer.lpp"
 TOKEN_OR_IDENTIFIER(120, MAT3X3);
 	YY_BREAK
 case 52:
 YY_RULE_SETUP
-#line 192 "glsl_lexer.lpp"
+#line 193 "glsl_lexer.lpp"
 TOKEN_OR_IDENTIFIER(120, MAT3X4);
 	YY_BREAK
 case 53:
 YY_RULE_SETUP
-#line 193 "glsl_lexer.lpp"
+#line 194 "glsl_lexer.lpp"
 TOKEN_OR_IDENTIFIER(120, MAT4X2);
 	YY_BREAK
 case 54:
 YY_RULE_SETUP
-#line 194 "glsl_lexer.lpp"
+#line 195 "glsl_lexer.lpp"
 TOKEN_OR_IDENTIFIER(120, MAT4X3);
 	YY_BREAK
 case 55:
 YY_RULE_SETUP
-#line 195 "glsl_lexer.lpp"
+#line 196 "glsl_lexer.lpp"
 TOKEN_OR_IDENTIFIER(120, MAT4X4);
 	YY_BREAK
 case 56:
 YY_RULE_SETUP
-#line 197 "glsl_lexer.lpp"
+#line 198 "glsl_lexer.lpp"
 return IN_TOK;
 	YY_BREAK
 case 57:
 YY_RULE_SETUP
-#line 198 "glsl_lexer.lpp"
+#line 199 "glsl_lexer.lpp"
 return OUT_TOK;
 	YY_BREAK
 case 58:
 YY_RULE_SETUP
-#line 199 "glsl_lexer.lpp"
+#line 200 "glsl_lexer.lpp"
 return INOUT_TOK;
 	YY_BREAK
 case 59:
 YY_RULE_SETUP
-#line 200 "glsl_lexer.lpp"
+#line 201 "glsl_lexer.lpp"
 return UNIFORM;
 	YY_BREAK
 case 60:
 YY_RULE_SETUP
-#line 201 "glsl_lexer.lpp"
+#line 202 "glsl_lexer.lpp"
 return VARYING;
 	YY_BREAK
 case 61:
 YY_RULE_SETUP
-#line 202 "glsl_lexer.lpp"
+#line 203 "glsl_lexer.lpp"
 TOKEN_OR_IDENTIFIER(120, CENTROID);
 	YY_BREAK
 case 62:
 YY_RULE_SETUP
-#line 203 "glsl_lexer.lpp"
+#line 204 "glsl_lexer.lpp"
 TOKEN_OR_IDENTIFIER_ES(120, INVARIANT);
 	YY_BREAK
 case 63:
 YY_RULE_SETUP
-#line 205 "glsl_lexer.lpp"
+#line 206 "glsl_lexer.lpp"
 TOKEN_OR_IDENTIFIER_ES(130, FLAT);
 	YY_BREAK
 case 64:
 YY_RULE_SETUP
-#line 206 "glsl_lexer.lpp"
+#line 207 "glsl_lexer.lpp"
 TOKEN_OR_IDENTIFIER(130, SMOOTH);
 	YY_BREAK
 case 65:
 YY_RULE_SETUP
-#line 207 "glsl_lexer.lpp"
+#line 208 "glsl_lexer.lpp"
 TOKEN_OR_IDENTIFIER(130, NOPERSPECTIVE);
 	YY_BREAK
 case 66:
 YY_RULE_SETUP
-#line 209 "glsl_lexer.lpp"
+#line 210 "glsl_lexer.lpp"
 return SAMPLER1D;
 	YY_BREAK
 case 67:
 YY_RULE_SETUP
-#line 210 "glsl_lexer.lpp"
+#line 211 "glsl_lexer.lpp"
 return SAMPLER2D;
 	YY_BREAK
 case 68:
 YY_RULE_SETUP
-#line 211 "glsl_lexer.lpp"
+#line 212 "glsl_lexer.lpp"
 return SAMPLER3D;
 	YY_BREAK
 case 69:
 YY_RULE_SETUP
-#line 212 "glsl_lexer.lpp"
+#line 213 "glsl_lexer.lpp"
 return SAMPLERCUBE;
 	YY_BREAK
 case 70:
 YY_RULE_SETUP
-#line 213 "glsl_lexer.lpp"
+#line 214 "glsl_lexer.lpp"
 return SAMPLER1DSHADOW;
 	YY_BREAK
 case 71:
 YY_RULE_SETUP
-#line 214 "glsl_lexer.lpp"
+#line 215 "glsl_lexer.lpp"
 return SAMPLER2DSHADOW;
 	YY_BREAK
 case 72:
 YY_RULE_SETUP
-#line 216 "glsl_lexer.lpp"
+#line 217 "glsl_lexer.lpp"
 return STRUCT;
 	YY_BREAK
 case 73:
 YY_RULE_SETUP
-#line 217 "glsl_lexer.lpp"
+#line 218 "glsl_lexer.lpp"
 return VOID_TOK;
 	YY_BREAK
 case 74:
 YY_RULE_SETUP
-#line 219 "glsl_lexer.lpp"
+#line 220 "glsl_lexer.lpp"
 {
 		  if ((yyextra->language_version >= 140)
 		      || (yyextra->ARB_fragment_coord_conventions_enable)){
@@ -1759,102 +1760,102 @@ YY_RULE_SETUP
 	YY_BREAK
 case 75:
 YY_RULE_SETUP
-#line 229 "glsl_lexer.lpp"
+#line 230 "glsl_lexer.lpp"
 return INC_OP;
 	YY_BREAK
 case 76:
 YY_RULE_SETUP
-#line 230 "glsl_lexer.lpp"
+#line 231 "glsl_lexer.lpp"
 return DEC_OP;
 	YY_BREAK
 case 77:
 YY_RULE_SETUP
-#line 231 "glsl_lexer.lpp"
+#line 232 "glsl_lexer.lpp"
 return LE_OP;
 	YY_BREAK
 case 78:
 YY_RULE_SETUP
-#line 232 "glsl_lexer.lpp"
+#line 233 "glsl_lexer.lpp"
 return GE_OP;
 	YY_BREAK
 case 79:
 YY_RULE_SETUP
-#line 233 "glsl_lexer.lpp"
+#line 234 "glsl_lexer.lpp"
 return EQ_OP;
 	YY_BREAK
 case 80:
 YY_RULE_SETUP
-#line 234 "glsl_lexer.lpp"
+#line 235 "glsl_lexer.lpp"
 return NE_OP;
 	YY_BREAK
 case 81:
 YY_RULE_SETUP
-#line 235 "glsl_lexer.lpp"
+#line 236 "glsl_lexer.lpp"
 return AND_OP;
 	YY_BREAK
 case 82:
 YY_RULE_SETUP
-#line 236 "glsl_lexer.lpp"
+#line 237 "glsl_lexer.lpp"
 return OR_OP;
 	YY_BREAK
 case 83:
 YY_RULE_SETUP
-#line 237 "glsl_lexer.lpp"
+#line 238 "glsl_lexer.lpp"
 return XOR_OP;
 	YY_BREAK
 case 84:
 YY_RULE_SETUP
-#line 239 "glsl_lexer.lpp"
+#line 240 "glsl_lexer.lpp"
 return MUL_ASSIGN;
 	YY_BREAK
 case 85:
 YY_RULE_SETUP
-#line 240 "glsl_lexer.lpp"
+#line 241 "glsl_lexer.lpp"
 return DIV_ASSIGN;
 	YY_BREAK
 case 86:
 YY_RULE_SETUP
-#line 241 "glsl_lexer.lpp"
+#line 242 "glsl_lexer.lpp"
 return ADD_ASSIGN;
 	YY_BREAK
 case 87:
 YY_RULE_SETUP
-#line 242 "glsl_lexer.lpp"
+#line 243 "glsl_lexer.lpp"
 return MOD_ASSIGN;
 	YY_BREAK
 case 88:
 YY_RULE_SETUP
-#line 243 "glsl_lexer.lpp"
+#line 244 "glsl_lexer.lpp"
 return LEFT_ASSIGN;
 	YY_BREAK
 case 89:
 YY_RULE_SETUP
-#line 244 "glsl_lexer.lpp"
+#line 245 "glsl_lexer.lpp"
 return RIGHT_ASSIGN;
 	YY_BREAK
 case 90:
 YY_RULE_SETUP
-#line 245 "glsl_lexer.lpp"
+#line 246 "glsl_lexer.lpp"
 return AND_ASSIGN;
 	YY_BREAK
 case 91:
 YY_RULE_SETUP
-#line 246 "glsl_lexer.lpp"
+#line 247 "glsl_lexer.lpp"
 return XOR_ASSIGN;
 	YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 247 "glsl_lexer.lpp"
+#line 248 "glsl_lexer.lpp"
 return OR_ASSIGN;
 	YY_BREAK
 case 93:
 YY_RULE_SETUP
-#line 248 "glsl_lexer.lpp"
+#line 249 "glsl_lexer.lpp"
 return SUB_ASSIGN;
 	YY_BREAK
 case 94:
 YY_RULE_SETUP
-#line 250 "glsl_lexer.lpp"
+#line 251 "glsl_lexer.lpp"
 {
 			    yylval->n = strtol(yytext, NULL, 10);
 			    return INTCONSTANT;
@@ -1862,7 +1863,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 254 "glsl_lexer.lpp"
+#line 255 "glsl_lexer.lpp"
 {
 			    yylval->n = strtol(yytext + 2, NULL, 16);
 			    return INTCONSTANT;
@@ -1870,7 +1871,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 258 "glsl_lexer.lpp"
+#line 259 "glsl_lexer.lpp"
 {
 			    yylval->n = strtol(yytext, NULL, 8);
 			    return INTCONSTANT;
@@ -1878,47 +1879,47 @@ YY_RULE_SETUP
 	YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 263 "glsl_lexer.lpp"
+#line 264 "glsl_lexer.lpp"
 {
-			    yylval->real = strtod(yytext, NULL);
+			    yylval->real = glsl_strtod(yytext, NULL);
 			    return FLOATCONSTANT;
 			}
 	YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 267 "glsl_lexer.lpp"
+#line 268 "glsl_lexer.lpp"
 {
-			    yylval->real = strtod(yytext, NULL);
+			    yylval->real = glsl_strtod(yytext, NULL);
 			    return FLOATCONSTANT;
 			}
 	YY_BREAK
 case 99:
 YY_RULE_SETUP
-#line 271 "glsl_lexer.lpp"
+#line 272 "glsl_lexer.lpp"
 {
-			    yylval->real = strtod(yytext, NULL);
+			    yylval->real = glsl_strtod(yytext, NULL);
 			    return FLOATCONSTANT;
 			}
 	YY_BREAK
 case 100:
 YY_RULE_SETUP
-#line 275 "glsl_lexer.lpp"
+#line 276 "glsl_lexer.lpp"
 {
-			    yylval->real = strtod(yytext, NULL);
+			    yylval->real = glsl_strtod(yytext, NULL);
 			    return FLOATCONSTANT;
 			}
 	YY_BREAK
 case 101:
 YY_RULE_SETUP
-#line 279 "glsl_lexer.lpp"
+#line 280 "glsl_lexer.lpp"
 {
-			    yylval->real = strtod(yytext, NULL);
+			    yylval->real = glsl_strtod(yytext, NULL);
 			    return FLOATCONSTANT;
 			}
 	YY_BREAK
 case 102:
 YY_RULE_SETUP
-#line 284 "glsl_lexer.lpp"
+#line 285 "glsl_lexer.lpp"
 {
 			    yylval->n = 1;
 			    return BOOLCONSTANT;
@@ -1926,7 +1927,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 103:
 YY_RULE_SETUP
-#line 288 "glsl_lexer.lpp"
+#line 289 "glsl_lexer.lpp"
 {
 			    yylval->n = 0;
 			    return BOOLCONSTANT;
@@ -1935,394 +1936,394 @@ YY_RULE_SETUP
 /* Reserved words in GLSL 1.10. */
 case 104:
 YY_RULE_SETUP
-#line 295 "glsl_lexer.lpp"
+#line 296 "glsl_lexer.lpp"
 RESERVED_WORD(999, ASM);
 	YY_BREAK
 case 105:
 YY_RULE_SETUP
-#line 296 "glsl_lexer.lpp"
+#line 297 "glsl_lexer.lpp"
 RESERVED_WORD(999, CLASS);
 	YY_BREAK
 case 106:
 YY_RULE_SETUP
-#line 297 "glsl_lexer.lpp"
+#line 298 "glsl_lexer.lpp"
 RESERVED_WORD(999, UNION);
 	YY_BREAK
 case 107:
 YY_RULE_SETUP
-#line 298 "glsl_lexer.lpp"
+#line 299 "glsl_lexer.lpp"
 RESERVED_WORD(999, ENUM);
 	YY_BREAK
 case 108:
 YY_RULE_SETUP
-#line 299 "glsl_lexer.lpp"
+#line 300 "glsl_lexer.lpp"
 RESERVED_WORD(999, TYPEDEF);
 	YY_BREAK
 case 109:
 YY_RULE_SETUP
-#line 300 "glsl_lexer.lpp"
+#line 301 "glsl_lexer.lpp"
 RESERVED_WORD(999, TEMPLATE);
 	YY_BREAK
 case 110:
 YY_RULE_SETUP
-#line 301 "glsl_lexer.lpp"
+#line 302 "glsl_lexer.lpp"
 RESERVED_WORD(999, THIS);
 	YY_BREAK
 case 111:
 YY_RULE_SETUP
-#line 302 "glsl_lexer.lpp"
+#line 303 "glsl_lexer.lpp"
 RESERVED_WORD(999, PACKED_TOK);
 	YY_BREAK
 case 112:
 YY_RULE_SETUP
-#line 303 "glsl_lexer.lpp"
+#line 304 "glsl_lexer.lpp"
 RESERVED_WORD(999, GOTO);
 	YY_BREAK
 case 113:
 YY_RULE_SETUP
-#line 304 "glsl_lexer.lpp"
+#line 305 "glsl_lexer.lpp"
 RESERVED_WORD(130, SWITCH);
 	YY_BREAK
 case 114:
 YY_RULE_SETUP


Reply to: