<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>