public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH 0/3] lib/genxml: Introduce Mesa genxml infrastructure to IGT
@ 2026-04-07 13:26 Jan Maslak
  2026-04-07 13:26 ` [PATCH 2/3] lib/rendercopy: Convert rendercopy_gen9 to use genxml pack headers Jan Maslak
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: Jan Maslak @ 2026-04-07 13:26 UTC (permalink / raw)
  To: igt-dev; +Cc: zbigniew.kempczynski, Jan Maslak

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.

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

-- 
2.34.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-04-09 19:02 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [PATCH 0/3] lib/genxml: Introduce Mesa genxml infrastructure to IGT Jani Nikula
     [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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox