[igt-dev] [PATCH i-g-t v3 6/8] tests/i915/gem_blits: Add XY_FAST_COPY_BLT support for gem_blits
Karolina Stolarek
karolina.stolarek at intel.com
Tue Mar 14 14:44:38 UTC 2023
From: Arjun Melkaveri <arjun.melkaveri at intel.com>
Test case uses legacy command XY_SRC_COPY_BLT_CMD which is not supported
on newer generations. Modify test to use XY_FAST_COPY_BLT.
Signed-off-by: Arjun Melkaveri <arjun.melkaveri at intel.com>
Signed-off-by: Vikas Srivastava <vikas.srivastava at intel.com>
Signed-off-by: Karolina Stolarek <karolina.stolarek at intel.com>
Cc: Nirmoy Das <nirmoy.das at intel.com>
Cc: Andi Shyti <andi.shyti at linux.intel.com>
---
tests/i915/gem_blits.c | 21 +++++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
diff --git a/tests/i915/gem_blits.c b/tests/i915/gem_blits.c
index e5ef3662..b38d6c7e 100644
--- a/tests/i915/gem_blits.c
+++ b/tests/i915/gem_blits.c
@@ -216,7 +216,12 @@ static void buffer_set_tiling(const struct device *device,
if (!blt_has_xy_src_copy(device->fd)) {
batch[i++] = fast_copy_dword0(buffer->tiling, tiling);
- dword1 = fast_copy_dword1(buffer->tiling, tiling, 32);
+ /* Post ATS-M platforms require tile4 bit to be set for YMAJOR mode */
+ dword1 = fast_copy_dword1(buffer->tiling ?
+ I915_TILING_Yf : I915_TILING_NONE,
+ tiling ?
+ I915_TILING_Yf : I915_TILING_NONE,
+ 32);
batch[i++] = dword1 | pitch;
} else {
batch[i] = (XY_SRC_COPY_BLT_CMD |
@@ -361,8 +366,11 @@ static bool blit_to_linear(const struct device *device,
}
if (!blt_has_xy_src_copy(device->fd)) {
- batch[i++] = fast_copy_dword0(buffer->tiling, I915_TILING_NONE);
- dword1 = fast_copy_dword1(buffer->tiling, I915_TILING_NONE, 32);
+ batch[i++] = fast_copy_dword0(buffer->tiling, 0);
+ /* Post ATS-M platforms require tile4 bit to be set for YMAJOR mode */
+ dword1 = fast_copy_dword1(buffer->tiling ?
+ I915_TILING_Yf : I915_TILING_NONE,
+ 0, 32);
batch[i++] = dword1 | buffer->stride;
} else {
batch[i] = (XY_SRC_COPY_BLT_CMD |
@@ -705,7 +713,12 @@ blit(const struct device *device,
if (!blt_has_xy_src_copy(device->fd)) {
batch[i++] = fast_copy_dword0(src->tiling, dst->tiling);
- dword1 = fast_copy_dword1(src->tiling, dst->tiling, 32);
+ /* Post ATS-M platforms require tile4 bit to be set for YMAJOR mode */
+ dword1 = fast_copy_dword1(src->tiling ?
+ I915_TILING_Yf : I915_TILING_NONE,
+ dst->tiling ?
+ I915_TILING_Yf : I915_TILING_NONE,
+ 32);
batch[i++] = dword1 | pitch;
} else {
batch[i] = (XY_SRC_COPY_BLT_CMD |
--
2.25.1
More information about the igt-dev
mailing list