[igt-dev] [PATCH i-g-t v4 0/9] Update gem_blits for newer generations
Karolina Stolarek
karolina.stolarek at intel.com
Fri Mar 17 12:37:02 UTC 2023
gem_blits test utilizes XY_SRC_COPY_BLT, a legacy blitter command
that is not available on newer generations such as MTL. To make
sure the test covers such platforms, update it to switch to
XY_FAST_COPY_BLT for blit copy operations.
In addition to this change, the series:
1) Adds helpers to i915_blt library that check support for
XY_SRC_COPY_BLT command and its capabilities
2) Updates the definitions of older platforms to properly list
all available commands and tilings
3) Updates gem_blits to use aforementioned helpers to detect
tiling formats supported by the platform
v4:
- Dropped patch "tests/i915/gem_blits: Add XY_FAST_COPY_BLT support
for gem_blits" in favour of "lib/intel_batchbuffer: Handle no
support for Tile Y", as Zbigniew suggested that the workaround
should be implemented inside the fast_copy_dword1() function
- Added an extra patch with headers cleanup, as intel_batchbuffer.c
had _a lot_ of them included
- Rewrite conditional statements in gem_blits to first check for
xy_src_copy support and then for fast copy. Update
blit_supports_tiling() to reflect that change
v3:
- Rebase the changes, as they stopped applying cleanly
- Add static asserts on tiling enums, to make sure that changing
defines or blt_tiling_type results in a compiler error
- Reorder T_YFMAJOR value to it directly follows Tile4. Thanks to
__block_tiling() and __fast_tiling() switches, this change
shouldn't break gem_ccs/gem_exercise_blt tests
v2:
- Remove libdrm include in "tests/i915/gem_blits: Add XY_FAST_COPY_BLT
support for gem_blits". It's not needed and causes compile errors
on some targets
Arjun Melkaveri (1):
tests/i915/gem_blits: Use new copy instruction
Karolina Stolarek (7):
lib/i915_blt: Add helpers to check XY_SRC_COPY support
lib/intel_cmds_info: Correct tiling formats for XY_SRC_COPY
lib/intel_device_info: Add tiling information for early gens
lib/intel_batchbuffer: Remove unused includes
lib/intel_cmds_info: Reorder blt_tiling_type enum
lib/intel_batchbuffer: Handle no support for Tile Y
tests/gem_blits: Use intel_cmds_info library
Vikas Srivastava (1):
lib/intel_batchbuffer: Add wrapper API to use
XY_FAST_COPY_BLT/XY_SRC_BLT
lib/i915/i915_blt.c | 39 ++++++++++
lib/i915/i915_blt.h | 2 +
lib/i915/intel_cmds_info.c | 24 ++++--
lib/i915/intel_cmds_info.h | 5 +-
lib/intel_batchbuffer.c | 128 +++++++++++++++++++++++--------
lib/intel_batchbuffer.h | 28 +++++++
lib/intel_device_info.c | 29 +++++--
tests/i915/gem_blits.c | 151 ++++++++++++++++++++++++-------------
8 files changed, 305 insertions(+), 101 deletions(-)
--
2.25.1
More information about the igt-dev
mailing list