<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Wed, Oct 31, 2018 at 11:10 AM Toni Lönnberg <<a href="mailto:toni.lonnberg@intel.com">toni.lonnberg@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">When we debug media or 3d+media workloads, we'd like to be able to see what is <br>
in the aub dumps for those workloads. At the moment the decoder can't <br>
distinguish instructions which share the same opcode between the render and <br>
video pipe, and thus aubinator outputs garbage on media instructions.<br>
<br>
I was reluctant to make these changes into Mesa in the first place since the <br>
work is related to media, not 3d, but as aubinator is now located here, here we <br>
are.<br></blockquote><div><br></div><div>That's fine.  It's fine if these changres live in mesa.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
As far as I can see, these are the options:<br>
<br>
1. Put these in Mesa as aubinator now resides here instead of IGT.<br>
   a) Put all instruction definitions in the current genxml files, be it with a <br>
      tag or an attribute, both methods have their advantages and disadvantages.<br>
   b) Separate genxml files into common, render and video (and blitter?)<br>
<br>
2. Fork aubinator tools and related genxml infra to a completely separate <br>
   project.<br>
<br>
If I have missed an option, feel free to suggest.<br></blockquote><div><br></div><div>I wasn't suggesting we fork the tools and the XML.  I was just wondering whether we wanted to do separate sections or an attribute.  I think it should land in mesa either way.</div><div><br></div><div>--Jason<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Wed, Oct 31, 2018 at 09:20:39AM -0500, Jason Ekstrand wrote:<br>
> Toni,<br>
> <br>
> I'm a bit curious where you're going with this.  I started on a similar<br>
> project a couple of years ago:<br>
> <br>
> <a href="https://gitlab.freedesktop.org/jekstrand/mesa/commits/wip/genxml-engines" rel="noreferrer" target="_blank">https://gitlab.freedesktop.org/jekstrand/mesa/commits/wip/genxml-engines</a><br>
> <br>
> Mine took a different (not necessarily better) approach of surrounding the<br>
> instructions in an <engine> tag.  I'm not sure if that's any better or<br>
> worse than an attribute.<br>
> <br>
> At the time, I was planning to port over the blitter code to genxml and get<br>
> aubinator decoding blit streams.  I canned the project because there are<br>
> few enough differences in hardware generations for the blitter to be worth<br>
> the re-compilation and I had better things to do.  I've always thought it<br>
> would be good to support other engines for no other reason than to make<br>
> aubinator for blits.  It would also likely be useful to have if we wanted<br>
> to start doing media in mesa for some reason.  What's your motivation?  I<br>
> ask because I can't really have an opinion on the approach unless I know<br>
> where it's headed.<br>
> <br>
> --Jason<br>
> <br>
> On Wed, Oct 31, 2018 at 8:12 AM Toni Lönnberg <<a href="mailto:toni.lonnberg@intel.com" target="_blank">toni.lonnberg@intel.com</a>><br>
> wrote:<br>
> <br>
> > These patches add an engine parameter to the instructions defined in the<br>
> > genxml<br>
> > files so that they can be distinguished when sending them to different<br>
> > engines.<br>
> > By default, an instruction is defined to be used by all engines and is<br>
> > defined<br>
> > for a specific engine by adding the parameter "engine" to the definition.<br>
> > Currently the supported engines are "render", "video" and "blitter".<br>
> ><br>
> > v2:<br>
> ><br>
> > * gen_engine enum removed and replaced with use of<br>
> > drm_i915_gem_engine_class<br>
> ><br>
> > * The current engine being used is now saved in the decoder context and is<br>
> > not<br>
> >   being passed through gen_print_batch().<br>
> ><br>
> > * Split the genxml changes into multiple patches<br>
> ><br>
> > Toni Lönnberg (13):<br>
> >   intel/decoder: tools: gen_engine to drm_i915_gem_engine_class<br>
> >   intel/decoder: Engine parameter for instructions<br>
> >   intel/decoder: tools: Use engine for decoding batch instructions<br>
> >   intel/genxml: Add engine definition to render engine instructions<br>
> >     (gen4)<br>
> >   intel/genxml: Add engine definition to render engine instructions<br>
> >     (gen45)<br>
> >   intel/genxml: Add engine definition to render engine instructions<br>
> >     (gen5)<br>
> >   intel/genxml: Add engine definition to render engine instructions<br>
> >     (gen6)<br>
> >   intel/genxml: Add engine definition to render engine instructions<br>
> >     (gen7)<br>
> >   intel/genxml: Add engine definition to render engine instructions<br>
> >     (gen75)<br>
> >   intel/genxml: Add engine definition to render engine instructions<br>
> >     (gen8)<br>
> >   intel/genxml: Add engine definition to render engine instructions<br>
> >     (gen9)<br>
> >   intel/genxml: Add engine definition to render engine instructions<br>
> >     (gen10)<br>
> >   intel/genxml: Add engine definition to render engine instructions<br>
> >     (gen11)<br>
> ><br>
> >  src/intel/common/gen_batch_decoder.c     |  25 ++-<br>
> >  src/intel/common/gen_decoder.c           |  18 +-<br>
> >  src/intel/common/gen_decoder.h           |  11 +-<br>
> >  src/intel/genxml/gen10.xml               | 206 +++++++++++-----------<br>
> >  src/intel/genxml/gen11.xml               | 208 +++++++++++------------<br>
> >  src/intel/genxml/gen4.xml                |  36 ++--<br>
> >  src/intel/genxml/gen45.xml               |  38 ++---<br>
> >  src/intel/genxml/gen5.xml                |  44 ++---<br>
> >  src/intel/genxml/gen6.xml                |  94 +++++-----<br>
> >  src/intel/genxml/gen7.xml                | 154 ++++++++---------<br>
> >  src/intel/genxml/gen75.xml               | 184 ++++++++++----------<br>
> >  src/intel/genxml/gen8.xml                | 202 +++++++++++-----------<br>
> >  src/intel/genxml/gen9.xml                | 208 +++++++++++------------<br>
> >  src/intel/tools/aub_read.c               |  22 +--<br>
> >  src/intel/tools/aub_read.h               |  11 +-<br>
> >  src/intel/tools/aubinator.c              |   8 +-<br>
> >  src/intel/tools/aubinator_error_decode.c |  16 ++<br>
> >  17 files changed, 763 insertions(+), 722 deletions(-)<br>
> ><br>
> > --<br>
> > 2.17.1<br>
> ><br>
> > _______________________________________________<br>
> > mesa-dev mailing list<br>
> > <a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank">mesa-dev@lists.freedesktop.org</a><br>
> > <a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
> ><br>
</blockquote></div></div>