Patches 14, 15, and 16 are Reviewed-by: Ian Romanick <ian.d.roman...@intel.com>
On 06/18/2014 02:51 AM, Iago Toral Quiroga wrote: > --- > src/glsl/ir_print_visitor.cpp | 13 +++++++++---- > src/glsl/ir_reader.cpp | 22 ++++++++++++++++++---- > 2 files changed, 27 insertions(+), 8 deletions(-) > > diff --git a/src/glsl/ir_print_visitor.cpp b/src/glsl/ir_print_visitor.cpp > index c4a6f9c..dcb53b3 100644 > --- a/src/glsl/ir_print_visitor.cpp > +++ b/src/glsl/ir_print_visitor.cpp > @@ -560,13 +560,18 @@ ir_print_visitor::visit(ir_loop_jump *ir) > } > > void > -ir_print_visitor::visit(ir_emit_vertex *) > +ir_print_visitor::visit(ir_emit_vertex *ir) > { > - fprintf(f, "(emit-vertex)"); > + fprintf(f, "(emit-vertex "); > + ir->stream->accept(this); > + fprintf(f, ")\n"); > } > > void > -ir_print_visitor::visit(ir_end_primitive *) > +ir_print_visitor::visit(ir_end_primitive *ir) > { > - fprintf(f, "(end-primitive)"); > + fprintf(f, "(end-primitive "); > + ir->stream->accept(this); > + fprintf(f, ")\n"); > + > } > diff --git a/src/glsl/ir_reader.cpp b/src/glsl/ir_reader.cpp > index 28923f3..ba166eb 100644 > --- a/src/glsl/ir_reader.cpp > +++ b/src/glsl/ir_reader.cpp > @@ -1109,10 +1109,17 @@ ir_reader::read_texture(s_expression *expr) > ir_emit_vertex * > ir_reader::read_emit_vertex(s_expression *expr) > { > - s_pattern pat[] = { "emit-vertex" }; > + s_expression *s_stream = NULL; > + > + s_pattern pat[] = { "emit-vertex", s_stream }; > > if (MATCH(expr, pat)) { > - return new(mem_ctx) ir_emit_vertex(); > + ir_rvalue *stream = read_dereference(s_stream); > + if (stream == NULL) { > + ir_read_error(NULL, "when reading stream info in emit-vertex"); > + return NULL; > + } > + return new(mem_ctx) ir_emit_vertex(stream); > } > ir_read_error(NULL, "when reading emit-vertex"); > return NULL; > @@ -1121,10 +1128,17 @@ ir_reader::read_emit_vertex(s_expression *expr) > ir_end_primitive * > ir_reader::read_end_primitive(s_expression *expr) > { > - s_pattern pat[] = { "end-primitive" }; > + s_expression *s_stream = NULL; > + > + s_pattern pat[] = { "end-primitive", s_stream }; > > if (MATCH(expr, pat)) { > - return new(mem_ctx) ir_end_primitive(); > + ir_rvalue *stream = read_dereference(s_stream); > + if (stream == NULL) { > + ir_read_error(NULL, "when reading stream info in end-primitive"); > + return NULL; > + } > + return new(mem_ctx) ir_end_primitive(stream); > } > ir_read_error(NULL, "when reading end-primitive"); > return NULL; > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev