diff options
Diffstat (limited to 'src/mesa/drivers/dri/i965/gen6_gs_visitor.cpp')
-rw-r--r-- | src/mesa/drivers/dri/i965/gen6_gs_visitor.cpp | 31 |
1 files changed, 1 insertions, 30 deletions
diff --git a/src/mesa/drivers/dri/i965/gen6_gs_visitor.cpp b/src/mesa/drivers/dri/i965/gen6_gs_visitor.cpp index 4c9c960..6db6d27 100644 --- a/src/mesa/drivers/dri/i965/gen6_gs_visitor.cpp +++ b/src/mesa/drivers/dri/i965/gen6_gs_visitor.cpp @@ -147,27 +147,6 @@ gen6_gs_visitor::emit_prolog() } void -gen6_gs_visitor::visit(ir_emit_vertex *ir) -{ - /* To ensure that we don't output more vertices than the shader specified - * using max_vertices, do the logic inside a conditional of the form "if - * (vertex_count < MAX)" - */ - unsigned num_output_vertices = c->gp->program.VerticesOut; - emit(CMP(dst_null_d(), this->vertex_count, - src_reg(num_output_vertices), BRW_CONDITIONAL_L)); - emit(IF(BRW_PREDICATE_NORMAL)); - - gs_emit_vertex(ir->stream_id()); - - this->current_annotation = "emit vertex: increment vertex count"; - emit(ADD(dst_reg(this->vertex_count), this->vertex_count, - src_reg(1u))); - - emit(BRW_OPCODE_ENDIF); -} - -void gen6_gs_visitor::gs_emit_vertex(int stream_id) { this->current_annotation = "gen6 emit vertex"; @@ -231,12 +210,6 @@ gen6_gs_visitor::gs_emit_vertex(int stream_id) } void -gen6_gs_visitor::visit(ir_end_primitive *) -{ - gs_end_primitive(); -} - -void gen6_gs_visitor::gs_end_primitive() { this->current_annotation = "gen6 end primitive"; @@ -356,9 +329,7 @@ gen6_gs_visitor::emit_thread_end() if (c->gp->program.OutputType != GL_POINTS) { emit(CMP(dst_null_d(), this->first_vertex, 0u, BRW_CONDITIONAL_Z)); emit(IF(BRW_PREDICATE_NORMAL)); - { - visit((ir_end_primitive *) NULL); - } + gs_end_primitive(); emit(BRW_OPCODE_ENDIF); } |