On Mon, Jul 27, 2015 at 2:29 PM, Eduardo Lima Mitev <el...@igalia.com> wrote: > On 07/25/2015 01:19 AM, Jason Ekstrand wrote: >> This patch needs to go *before* patch 71 so things continue to build. >> > > Both patches build for me in the current order, and also build fine > changing order as you propose. Are you sure it is patch 71 and 72 the > ones conflicting?
I merely noticed that you implement gs_emit_vertex and gs_end_primitive in this patch but use them in 71 to implement the NIR intrinsics. I didn't actually build-test it. --Jason >> On Thu, Jul 23, 2015 at 3:17 AM, Eduardo Lima Mitev <el...@igalia.com> wrote: >>> From: Samuel Iglesias Gonsalvez <sigles...@igalia.com> >>> >>> So the implementation is independent of GLSL IR and the visit methods of the >>> gen6 GS visitor. This way we will be able to reuse that implementation >>> directly >>> from the NIR vec4 backend. >>> >>> Signed-off-by: Samuel Iglesias Gonsalvez <sigles...@igalia.com> >>> --- >>> src/mesa/drivers/dri/i965/gen6_gs_visitor.cpp | 13 ++++++++++++- >>> src/mesa/drivers/dri/i965/gen6_gs_visitor.h | 2 ++ >>> 2 files changed, 14 insertions(+), 1 deletion(-) >>> >>> diff --git a/src/mesa/drivers/dri/i965/gen6_gs_visitor.cpp >>> b/src/mesa/drivers/dri/i965/gen6_gs_visitor.cpp >>> index 782687a..68e443d 100644 >>> --- a/src/mesa/drivers/dri/i965/gen6_gs_visitor.cpp >>> +++ b/src/mesa/drivers/dri/i965/gen6_gs_visitor.cpp >>> @@ -147,7 +147,12 @@ gen6_gs_visitor::emit_prolog() >>> } >>> >>> void >>> -gen6_gs_visitor::visit(ir_emit_vertex *) >>> +gen6_gs_visitor::visit(ir_emit_vertex *ir) >>> +{ >>> + gs_emit_vertex(ir->stream_id()); >>> +} >>> +void >>> +gen6_gs_visitor::gs_emit_vertex(int stream_id) >>> { >>> this->current_annotation = "gen6 emit vertex"; >>> /* Honor max_vertex layout indication in geometry shader by ignoring any >>> @@ -224,6 +229,12 @@ gen6_gs_visitor::visit(ir_emit_vertex *) >>> void >>> gen6_gs_visitor::visit(ir_end_primitive *) >>> { >>> + gs_end_primitive(); >>> +} >>> + >>> +void >>> +gen6_gs_visitor::gs_end_primitive() >>> +{ >>> this->current_annotation = "gen6 end primitive"; >>> /* Calling EndPrimitive() is optional for point output. In this case we >>> set >>> * the PrimEnd flag when we process EmitVertex(). >>> diff --git a/src/mesa/drivers/dri/i965/gen6_gs_visitor.h >>> b/src/mesa/drivers/dri/i965/gen6_gs_visitor.h >>> index 862d0ea..4cf9489 100644 >>> --- a/src/mesa/drivers/dri/i965/gen6_gs_visitor.h >>> +++ b/src/mesa/drivers/dri/i965/gen6_gs_visitor.h >>> @@ -51,6 +51,8 @@ protected: >>> virtual void emit_thread_end(); >>> virtual void visit(ir_emit_vertex *); >>> virtual void visit(ir_end_primitive *); >>> + virtual void gs_emit_vertex(int stream_id); >>> + virtual void gs_end_primitive(); >>> virtual void emit_urb_write_header(int mrf); >>> virtual void emit_urb_write_opcode(bool complete, >>> int base_mrf, >>> -- >>> 2.1.4 >>> >>> _______________________________________________ >>> mesa-dev mailing list >>> mesa-dev@lists.freedesktop.org >>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev >> > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev