On Mon, Jul 27, 2015 at 2:47 PM, Eduardo Lima Mitev <el...@igalia.com> wrote: > 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.
Ah, I missed that. It's fine in either order then. >> --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