summaryrefslogtreecommitdiffstats
path: root/src/glsl/ir_hv_accept.cpp
diff options
context:
space:
mode:
authorIago Toral Quiroga <itoral@igalia.com>2014-06-20 10:26:29 +0200
committerIago Toral Quiroga <itoral@igalia.com>2014-06-30 08:08:50 +0200
commit8639effefeb8c06beedbfcc294694b6bb72db882 (patch)
treee27e6f1b77883bcfbf322fff2f4cdab22a7658bc /src/glsl/ir_hv_accept.cpp
parent9650293b51b23b86f4fcf6875e1801555fa235d0 (diff)
downloadexternal_mesa3d-8639effefeb8c06beedbfcc294694b6bb72db882.zip
external_mesa3d-8639effefeb8c06beedbfcc294694b6bb72db882.tar.gz
external_mesa3d-8639effefeb8c06beedbfcc294694b6bb72db882.tar.bz2
glsl: Modify ir_emit_vertex to have a stream.
This will be necessary to implement EmitStreamVertex(). EmitVertex() will produce an ir_emit_vertex with the default stream 0. Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
Diffstat (limited to 'src/glsl/ir_hv_accept.cpp')
-rw-r--r--src/glsl/ir_hv_accept.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/glsl/ir_hv_accept.cpp b/src/glsl/ir_hv_accept.cpp
index 2a1f70e..f633283 100644
--- a/src/glsl/ir_hv_accept.cpp
+++ b/src/glsl/ir_hv_accept.cpp
@@ -405,7 +405,15 @@ ir_if::accept(ir_hierarchical_visitor *v)
ir_visitor_status
ir_emit_vertex::accept(ir_hierarchical_visitor *v)
{
- return v->visit(this);
+ ir_visitor_status s = v->visit_enter(this);
+ if (s != visit_continue)
+ return (s == visit_continue_with_parent) ? visit_continue : s;
+
+ s = this->stream->accept(v);
+ if (s != visit_continue)
+ return (s == visit_continue_with_parent) ? visit_continue : s;
+
+ return (s == visit_stop) ? s : v->visit_leave(this);
}