public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@intel.com>
To: Jan Maslak <jan.maslak@intel.com>, igt-dev@lists.freedesktop.org
Cc: zbigniew.kempczynski@intel.com, Jan Maslak <jan.maslak@intel.com>
Subject: Re: [PATCH 0/3] lib/genxml: Introduce Mesa genxml infrastructure to IGT
Date: Wed, 08 Apr 2026 12:23:44 +0300	[thread overview]
Message-ID: <ad51718ea34c50b7e1c4c889bc6ac71d5c65516a@intel.com> (raw)
In-Reply-To: <20260407132620.1397340-1-jan.maslak@intel.com>

On Tue, 07 Apr 2026, Jan Maslak <jan.maslak@intel.com> wrote:
> This series brings Mesa's hardware XML command/state definitions and
> gen_pack_header.py code generator into IGT, adds a new IGT-written
> batch buffer decoder (gen_decode_header.py), and converts rendercopy_gen9
> to use the generated pack headers.

The cover letter and the commit messages contain a lot of the "What?"
but there not much in terms of the "Why?" here.

I can make assumptions, but the rationale is something that should be
spelled out in the commit messages.

BR,
Jani.

>
> Patch 1 imports the XML definitions and generators. gen_pack_header.py
> is taken from Mesa with C90 compliance fixes and a new baseline
> deduplication mechanism - when a platform's command layout matches any
> older generation exactly, the item is omitted entirely.
> gen_decode_header.py is a new IGT-only file that generates per-platform
> decoders for instructions, structs, and registers.
>
> Patch 2 converts rendercopy_gen9.c to use the generated pack headers,
> replacing hand-written struct assignments and intel_bb_out() calls with
> igt_genxml_emit and igt_genxml_pack_state.
>
> Patch 3 adds an opt-in annotated batch dump to intel_bb_dump(): when
> IGT_BB_ANNOTATE=1 is set a companion .annotated file is written alongside
> the raw hex dump, decoding each command's field names and values.
>
> Tested on LNL and DG2 (xe_render_copy render-square, render-full;
> xe_intel_bb render) and TGL (gem_render_copy_redux; api_intel_bb).
>
> Signed-off-by: Jan Maslak <jan.maslak@intel.com>
>
> Jan Maslak (3):
>   lib/genxml: Import genxml definitions and generators from Mesa
>   lib/rendercopy: Convert rendercopy_gen9 to use genxml pack headers
>   lib: Add genxml annotated batch buffer decode
>
>  lib/genxml/gen110.xml           | 3358 +++++++++++++++++++++++++
>  lib/genxml/gen120.xml           | 2432 ++++++++++++++++++
>  lib/genxml/gen125.xml           | 2628 +++++++++++++++++++
>  lib/genxml/gen40.xml            | 1012 ++++++++
>  lib/genxml/gen45.xml            |  507 ++++
>  lib/genxml/gen50.xml            |  648 +++++
>  lib/genxml/gen60.xml            | 2606 +++++++++++++++++++
>  lib/genxml/gen70.xml            | 3067 ++++++++++++++++++++++
>  lib/genxml/gen75.xml            | 2424 ++++++++++++++++++
>  lib/genxml/gen80.xml            | 2993 ++++++++++++++++++++++
>  lib/genxml/gen90.xml            | 4192 +++++++++++++++++++++++++++++++
>  lib/genxml/gen_decode_header.py |  487 ++++
>  lib/genxml/gen_pack_header.py   |  799 ++++++
>  lib/genxml/igt_genxml.h         |  112 +
>  lib/genxml/igt_genxml_decode.h  |   60 +
>  lib/genxml/igt_genxml_defs.h    |  335 +++
>  lib/genxml/intel_genxml.py      |  553 ++++
>  lib/genxml/util.py              |   39 +
>  lib/genxml/xe2.xml              | 1969 +++++++++++++++
>  lib/genxml/xe3.xml              |  816 ++++++
>  lib/genxml/xe3p.xml             |    4 +
>  lib/intel_batchbuffer.c         |   32 +-
>  lib/meson.build                 |   65 +-
>  lib/rendercopy_gen9.c           | 1117 ++++----
>  24 files changed, 31687 insertions(+), 568 deletions(-)
>  create mode 100644 lib/genxml/gen110.xml
>  create mode 100644 lib/genxml/gen120.xml
>  create mode 100644 lib/genxml/gen125.xml
>  create mode 100644 lib/genxml/gen40.xml
>  create mode 100644 lib/genxml/gen45.xml
>  create mode 100644 lib/genxml/gen50.xml
>  create mode 100644 lib/genxml/gen60.xml
>  create mode 100644 lib/genxml/gen70.xml
>  create mode 100644 lib/genxml/gen75.xml
>  create mode 100644 lib/genxml/gen80.xml
>  create mode 100644 lib/genxml/gen90.xml
>  create mode 100644 lib/genxml/gen_decode_header.py
>  create mode 100644 lib/genxml/gen_pack_header.py
>  create mode 100644 lib/genxml/igt_genxml.h
>  create mode 100644 lib/genxml/igt_genxml_decode.h
>  create mode 100644 lib/genxml/igt_genxml_defs.h
>  create mode 100644 lib/genxml/intel_genxml.py
>  create mode 100644 lib/genxml/util.py
>  create mode 100644 lib/genxml/xe2.xml
>  create mode 100644 lib/genxml/xe3.xml
>  create mode 100644 lib/genxml/xe3p.xml

-- 
Jani Nikula, Intel

  parent reply	other threads:[~2026-04-08  9:23 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-07 13:26 [PATCH 0/3] lib/genxml: Introduce Mesa genxml infrastructure to IGT Jan Maslak
2026-04-07 13:26 ` [PATCH 2/3] lib/rendercopy: Convert rendercopy_gen9 to use genxml pack headers Jan Maslak
2026-04-07 15:00   ` Ville Syrjälä
2026-04-07 13:26 ` [PATCH 3/3] lib: Add genxml annotated batch buffer decode Jan Maslak
2026-04-08  9:23 ` Jani Nikula [this message]
     [not found] ` <20260407132620.1397340-2-jan.maslak@intel.com>
2026-04-08 15:44   ` [PATCH 1/3] lib/genxml: Import genxml definitions and generators from Mesa Kamil Konieczny
2026-04-09 17:45 ` ✗ Xe.CI.BAT: failure for lib/genxml: Introduce Mesa genxml infrastructure to IGT Patchwork
2026-04-09 18:03 ` ✗ i915.CI.BAT: " Patchwork
2026-04-09 19:02 ` ✗ Xe.CI.FULL: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ad51718ea34c50b7e1c4c889bc6ac71d5c65516a@intel.com \
    --to=jani.nikula@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=jan.maslak@intel.com \
    --cc=zbigniew.kempczynski@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox