From: Lucas De Marchi <lucas.demarchi@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Subject: [igt-dev] [PATCH i-g-t v3 00/13] Adapt copy commands for Xe2
Date: Wed, 4 Oct 2023 08:49:09 -0700 [thread overview]
Message-ID: <20231004154922.3478014-1-lucas.demarchi@intel.com> (raw)
A few copy commands changed for Xe2, mainly adding or moving the bits
used for MOCS. This adapts the places we are manually adding the
commands in the batch buffer, the gpu_cmds and the intel_blt libraries.
Missing here is the conversion of lib/intel_batchbuffer.c. I had
understood that intel_batchbuffer would end up using the new intel_blt.
So, it may just be that we have some patches being cooked for that. Or
I understood it wrong. Anyway, it doesn't seem good that we have
basically 3 ways to do the same thing.
Also it seems that this is the first time we are updating intel_blt for
a platform with a breaking change. I used 2 different approaches in how
to adapt the struct: one for xy-block-copy/xy-fast-copy and another for
ctrl-surf-copy. The reason is that for the former there was just a minor
change and the latter basically rewrites all the dwords. Going forward I
think we should keep applying small deltas to at most 1 or 2 breaking
changes, otherwise it makes it harder to read.
v2: Provide fixes according to the feedback in v1
v3:
- Fix build: for some reason ninja was caching tests/intel/gem_ccs.o,
so it was not getting rebuilt
- Use mocs index 4 for WB (depends on kernel patch)
Lucas De Marchi (13):
lib/rendercopy: Use common mocs function
lib/gpu_cmds: Remove prefix from gen7_fill_binding_table()
lib/gpu_cmds: Reorder if/else ladder according to IP version
lib/gpu_cmds: Fork a gen9_fill_surface_state()
lib/gpu_cmds: Reduce scope of xehp_fill_surface_state()
lib: Fork gen9_media.h
lib/intel_mocs: Stop encoding mocs
lib/intel_mocs: Add Xe2 mocs indexes
lib/igt_draw: Add Xe2 mocs to XY_FAST_COLOR_BLT
lib/intel_mocs: Remove unused lefotver defines
lib/intel_blt: Support Xe2 in xy-block-copy command
lib/intel_blt: Support xe2 in xy-fast-copy command
lib/intel_blt: Support xe2 in ctrl-surf-copy command
docs/reference/igt-gpu-tools/meson.build | 1 +
lib/gen8_media.h | 14 -
lib/gen9_media.h | 144 +++++++++
lib/gen9_render.h | 3 +-
lib/gpu_cmds.c | 100 +++++--
lib/gpu_cmds.h | 7 +-
lib/igt_draw.c | 8 +-
lib/igt_fb.c | 2 +-
lib/intel_blt.c | 357 +++++++++++++++++------
lib/intel_blt.h | 10 +-
lib/intel_compute.c | 1 +
lib/intel_mocs.c | 23 +-
lib/intel_mocs.h | 4 +-
lib/intel_reg.h | 4 +-
lib/media_fill.c | 1 +
lib/rendercopy_gen9.c | 41 +--
lib/xehp_media.h | 3 +-
tests/intel/gem_ccs.c | 8 +-
tests/intel/gem_lmem_swapping.c | 4 +-
tests/intel/xe_ccs.c | 8 +-
20 files changed, 539 insertions(+), 204 deletions(-)
create mode 100644 lib/gen9_media.h
--
2.40.1
next reply other threads:[~2023-10-04 15:49 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-04 15:49 Lucas De Marchi [this message]
2023-10-04 15:49 ` [igt-dev] [PATCH i-g-t v3 01/13] lib/rendercopy: Use common mocs function Lucas De Marchi
2023-10-04 15:49 ` [igt-dev] [PATCH i-g-t v3 02/13] lib/gpu_cmds: Remove prefix from gen7_fill_binding_table() Lucas De Marchi
2023-10-04 15:49 ` [igt-dev] [PATCH i-g-t v3 03/13] lib/gpu_cmds: Reorder if/else ladder according to IP version Lucas De Marchi
2023-10-04 15:49 ` [igt-dev] [PATCH i-g-t v3 04/13] lib/gpu_cmds: Fork a gen9_fill_surface_state() Lucas De Marchi
2023-10-04 15:49 ` [igt-dev] [PATCH i-g-t v3 05/13] lib/gpu_cmds: Reduce scope of xehp_fill_surface_state() Lucas De Marchi
2023-10-04 15:49 ` [igt-dev] [PATCH i-g-t v3 06/13] lib: Fork gen9_media.h Lucas De Marchi
2023-10-04 15:49 ` [igt-dev] [PATCH i-g-t v3 07/13] lib/intel_mocs: Stop encoding mocs Lucas De Marchi
2023-10-09 18:54 ` Matt Roper
2023-10-04 15:49 ` [igt-dev] [PATCH i-g-t v3 08/13] lib/intel_mocs: Add Xe2 mocs indexes Lucas De Marchi
2023-10-09 18:56 ` Matt Roper
2023-10-04 15:49 ` [igt-dev] [PATCH i-g-t v3 09/13] lib/igt_draw: Add Xe2 mocs to XY_FAST_COLOR_BLT Lucas De Marchi
2023-10-04 15:49 ` [igt-dev] [PATCH i-g-t v3 10/13] lib/intel_mocs: Remove unused lefotver defines Lucas De Marchi
2023-10-04 15:49 ` [igt-dev] [PATCH i-g-t v3 11/13] lib/intel_blt: Support Xe2 in xy-block-copy command Lucas De Marchi
2023-10-04 15:49 ` [igt-dev] [PATCH i-g-t v3 12/13] lib/intel_blt: Support xe2 in xy-fast-copy command Lucas De Marchi
2023-10-06 22:38 ` [igt-dev] [PATCH i-g-t v3.1 " Lucas De Marchi
2023-10-04 15:49 ` [igt-dev] [PATCH i-g-t v3 13/13] lib/intel_blt: Support xe2 in ctrl-surf-copy command Lucas De Marchi
2023-10-04 18:51 ` [igt-dev] ✗ Fi.CI.BAT: failure for Adapt copy commands for Xe2 (rev4) Patchwork
2023-10-04 19:36 ` [igt-dev] ✓ CI.xeBAT: success " Patchwork
2023-10-04 21:49 ` [igt-dev] ✓ Fi.CI.BAT: success for Adapt copy commands for Xe2 (rev5) Patchwork
2023-10-04 23:52 ` [igt-dev] ✓ CI.xeBAT: " Patchwork
2023-10-05 8:32 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2023-10-06 23:34 ` [igt-dev] ✓ Fi.CI.BAT: success for Adapt copy commands for Xe2 (rev6) Patchwork
2023-10-06 23:34 ` [igt-dev] ✓ CI.xeBAT: " Patchwork
2023-10-07 13:11 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2023-10-10 15:49 ` [igt-dev] [PATCH i-g-t v3 00/13] Adapt copy commands for Xe2 Lucas De Marchi
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=20231004154922.3478014-1-lucas.demarchi@intel.com \
--to=lucas.demarchi@intel.com \
--cc=igt-dev@lists.freedesktop.org \
/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