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