From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5B58D10E366 for ; Fri, 17 Mar 2023 12:37:27 +0000 (UTC) From: Karolina Stolarek To: igt-dev@lists.freedesktop.org Date: Fri, 17 Mar 2023 13:37:02 +0100 Message-Id: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [igt-dev] [PATCH i-g-t v4 0/9] Update gem_blits for newer generations List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" List-ID: 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