diff options
author | marha <marha@users.sourceforge.net> | 2013-11-29 11:25:56 +0100 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2013-11-29 11:25:56 +0100 |
commit | c043f97a8572e1f509251288d8bcd70d0fb96770 (patch) | |
tree | 8ebbc0f82f5c5b1d6453420963ca7d71b6161e0c /mesalib/src/glsl | |
parent | 4042ec939a2cdc8473479c900871c4c8c0b4e818 (diff) | |
download | vcxsrv-c043f97a8572e1f509251288d8bcd70d0fb96770.tar.gz vcxsrv-c043f97a8572e1f509251288d8bcd70d0fb96770.tar.bz2 vcxsrv-c043f97a8572e1f509251288d8bcd70d0fb96770.zip |
fontconfig mesa xserver git update 29 Nov 2013
xserver commit d695cb7fb6bb8fd159a332d902673edbbd2237d7
fontconfig commit a5fd7912ff8c7bc72d2cdbd0038c7ff0c968831f
mesa commit fb5f5b81883f360dcbbf407a0f6f5606bc0c0495
Diffstat (limited to 'mesalib/src/glsl')
-rw-r--r-- | mesalib/src/glsl/Makefile.am | 4 | ||||
-rw-r--r-- | mesalib/src/glsl/glsl_parser_extras.cpp | 2 | ||||
-rw-r--r-- | mesalib/src/glsl/linker.cpp | 5 | ||||
-rw-r--r-- | mesalib/src/glsl/lower_clip_distance.cpp | 5 |
4 files changed, 15 insertions, 1 deletions
diff --git a/mesalib/src/glsl/Makefile.am b/mesalib/src/glsl/Makefile.am index b9ed5b62b..27e180e0a 100644 --- a/mesalib/src/glsl/Makefile.am +++ b/mesalib/src/glsl/Makefile.am @@ -111,7 +111,9 @@ libglcpp_la_SOURCES = \ glcpp_glcpp_SOURCES = \ glcpp/glcpp.c \ $(top_srcdir)/src/mesa/program/prog_hash_table.c -glcpp_glcpp_LDADD = libglcpp.la +glcpp_glcpp_LDADD = \ + libglcpp.la \ + -lm libglsl_la_LIBADD = libglcpp.la libglsl_la_SOURCES = \ diff --git a/mesalib/src/glsl/glsl_parser_extras.cpp b/mesalib/src/glsl/glsl_parser_extras.cpp index f401f03bc..d76d94b7a 100644 --- a/mesalib/src/glsl/glsl_parser_extras.cpp +++ b/mesalib/src/glsl/glsl_parser_extras.cpp @@ -191,6 +191,8 @@ _mesa_glsl_parse_state::_mesa_glsl_parse_state(struct gl_context *_ctx, this->gs_input_prim_type = GL_POINTS; this->gs_input_size = 0; this->out_qualifier = new(this) ast_type_qualifier(); + memset(this->atomic_counter_offsets, 0, + sizeof(this->atomic_counter_offsets)); } /** diff --git a/mesalib/src/glsl/linker.cpp b/mesalib/src/glsl/linker.cpp index fac186a63..1366077f7 100644 --- a/mesalib/src/glsl/linker.cpp +++ b/mesalib/src/glsl/linker.cpp @@ -2396,6 +2396,11 @@ done: if (prog->_LinkedShaders[i] == NULL) continue; + /* Do a final validation step to make sure that the IR wasn't + * invalidated by any modifications performed after intrastage linking. + */ + validate_ir_tree(prog->_LinkedShaders[i]->ir); + /* Retain any live IR, but trash the rest. */ reparent_ir(prog->_LinkedShaders[i]->ir, prog->_LinkedShaders[i]->ir); diff --git a/mesalib/src/glsl/lower_clip_distance.cpp b/mesalib/src/glsl/lower_clip_distance.cpp index 682c8fdcd..04fa6d410 100644 --- a/mesalib/src/glsl/lower_clip_distance.cpp +++ b/mesalib/src/glsl/lower_clip_distance.cpp @@ -381,6 +381,11 @@ lower_clip_distance_visitor::fix_lhs(ir_assignment *ir) ir_visitor_status lower_clip_distance_visitor::visit_leave(ir_assignment *ir) { + /* First invoke the base class visitor. This causes handle_rvalue() to be + * called on ir->rhs and ir->condition. + */ + ir_rvalue_visitor::visit_leave(ir); + if (this->is_clip_distance_vec8(ir->lhs) || this->is_clip_distance_vec8(ir->rhs)) { /* LHS or RHS of the assignment is the entire 1D gl_ClipDistance array |