On 07/27/2015 11:33 PM, Jason Ekstrand wrote: > 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.
Ok, notice that patch 72 adds gs_emit_vertex/gs_end_primitive on gen6_gs_visitor.(cpp/h); while patch 71 uses the general definitions in the base class. > --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