* [PATCH i-g-t 00/12] Introduce intel_tiling_detect tool
@ 2024-05-27 7:33 Zbigniew Kempczyński
2024-05-27 7:33 ` [PATCH i-g-t 01/12] lib/intel_bufops: Fix offset returned for Tile4 Zbigniew Kempczyński
` (14 more replies)
0 siblings, 15 replies; 32+ messages in thread
From: Zbigniew Kempczyński @ 2024-05-27 7:33 UTC (permalink / raw)
To: igt-dev; +Cc: Zbigniew Kempczyński, Juha-Pekka Heikkila
I'm going to verify all tilings we claim in intel-cmds-info as
if I'm not wrong we have Yf tiling instead Tile4 on early gen12
platforms (TGL, DG1).
For the above I need to verify are documentation and code correct
and if not fix it.
Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Zbigniew Kempczyński (12):
lib/intel_bufops: Fix offset returned for Tile4
lib/intel_bufops: Fix mapping/unmapping for i915 and xe
lib/intel_bufops: Add linear-to-none copy path
lib/intel_bufops: Add Tile4 in linear_to and to_linear helpers
lib/intel_bufops: Add Yf tiling
lib/intel_blt: Add Yf tiling in block-copy
lib/intel_bufops: Add Ys tiling in linear_to and to_linear path
lib/intel_bufops: Drop unnecessary Tile4 function assignment
lib/intel_bufops: Preparation for adding software tiling for Tile64
lib/intel_bufops: Drop Tile4 swizzling
lib/intel_bufops: Don't disable x and y on platforms without swizzling
tools/intel_tiling_detect: Introduce tiling detection tool
lib/intel_blt.c | 4 +
lib/intel_bufops.c | 146 +++++++-----
lib/intel_cmds_info.h | 1 +
tools/intel_tiling_detect.c | 432 ++++++++++++++++++++++++++++++++++++
tools/meson.build | 1 +
5 files changed, 528 insertions(+), 56 deletions(-)
create mode 100644 tools/intel_tiling_detect.c
--
2.34.1
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH i-g-t 01/12] lib/intel_bufops: Fix offset returned for Tile4
2024-05-27 7:33 [PATCH i-g-t 00/12] Introduce intel_tiling_detect tool Zbigniew Kempczyński
@ 2024-05-27 7:33 ` Zbigniew Kempczyński
2024-06-03 7:26 ` Juha-Pekka Heikkila
2024-05-27 7:33 ` [PATCH i-g-t 02/12] lib/intel_bufops: Fix mapping/unmapping for i915 and xe Zbigniew Kempczyński
` (13 subsequent siblings)
14 siblings, 1 reply; 32+ messages in thread
From: Zbigniew Kempczyński @ 2024-05-27 7:33 UTC (permalink / raw)
To: igt-dev; +Cc: Zbigniew Kempczyński, Juha-Pekka Heikkila
Functions which calculates offset in bufops for specific tiling should
return it in bytes, not in cpp. Fix this issue for Tile4.
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
lib/intel_bufops.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
index 52a5f322ea..313c2665ae 100644
--- a/lib/intel_bufops.c
+++ b/lib/intel_bufops.c
@@ -377,7 +377,6 @@ static void *tile4_ptr(void *ptr,
((tile_y & 3) << __builtin_ctz(owords)) +
(tile_x & (owords - 1));
igt_assert((pos & (cpp - 1)) == 0);
- pos = pos >> __builtin_ctz(cpp);
return ptr + pos;
}
--
2.34.1
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH i-g-t 02/12] lib/intel_bufops: Fix mapping/unmapping for i915 and xe
2024-05-27 7:33 [PATCH i-g-t 00/12] Introduce intel_tiling_detect tool Zbigniew Kempczyński
2024-05-27 7:33 ` [PATCH i-g-t 01/12] lib/intel_bufops: Fix offset returned for Tile4 Zbigniew Kempczyński
@ 2024-05-27 7:33 ` Zbigniew Kempczyński
2024-06-03 7:31 ` Juha-Pekka Heikkila
2024-05-27 7:33 ` [PATCH i-g-t 03/12] lib/intel_bufops: Add linear-to-none copy path Zbigniew Kempczyński
` (12 subsequent siblings)
14 siblings, 1 reply; 32+ messages in thread
From: Zbigniew Kempczyński @ 2024-05-27 7:33 UTC (permalink / raw)
To: igt-dev; +Cc: Zbigniew Kempczyński, Juha-Pekka Heikkila
It looks previously there was no user of intel-buf mapping code so
missing xe path wasn't notice. Lets add xe path along with correct
buffer size mapping.
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
lib/intel_bufops.c | 39 ++++++++++++++++++++++++---------------
1 file changed, 24 insertions(+), 15 deletions(-)
diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
index 313c2665ae..b4ccf4c093 100644
--- a/lib/intel_bufops.c
+++ b/lib/intel_bufops.c
@@ -1232,37 +1232,46 @@ void intel_buf_destroy(struct intel_buf *buf)
void *intel_buf_cpu_map(struct intel_buf *buf, bool write)
{
- int i915 = buf_ops_get_fd(buf->bops);
+ int fd = buf_ops_get_fd(buf->bops);
igt_assert(buf);
igt_assert(buf->ptr == NULL); /* already mapped */
buf->cpu_write = write;
- buf->ptr = gem_mmap__cpu_coherent(i915, buf->handle, 0,
- buf->surface[0].size,
- write ? PROT_WRITE : PROT_READ);
- gem_set_domain(i915, buf->handle,
- I915_GEM_DOMAIN_CPU,
- write ? I915_GEM_DOMAIN_CPU : 0);
+ if (is_xe_device(fd)) {
+ buf->ptr = xe_bo_map(fd, buf->handle, buf->bo_size);
+ } else {
+ buf->ptr = gem_mmap__cpu_coherent(fd, buf->handle, 0,
+ buf->bo_size,
+ write ? PROT_WRITE : PROT_READ);
+
+ gem_set_domain(fd, buf->handle,
+ I915_GEM_DOMAIN_CPU,
+ write ? I915_GEM_DOMAIN_CPU : 0);
+ }
return buf->ptr;
}
void *intel_buf_device_map(struct intel_buf *buf, bool write)
{
- int i915 = buf_ops_get_fd(buf->bops);
+ int fd = buf_ops_get_fd(buf->bops);
igt_assert(buf);
igt_assert(buf->ptr == NULL); /* already mapped */
- buf->ptr = gem_mmap__device_coherent(i915, buf->handle, 0,
- buf->surface[0].size,
- write ? PROT_WRITE : PROT_READ);
+ if (is_xe_device(fd)) {
+ buf->ptr = xe_bo_map(fd, buf->handle, buf->bo_size);
+ } else {
+ buf->ptr = gem_mmap__device_coherent(fd, buf->handle, 0,
+ buf->bo_size,
+ write ? PROT_WRITE : PROT_READ);
- gem_set_domain(i915, buf->handle,
- I915_GEM_DOMAIN_WC,
- write ? I915_GEM_DOMAIN_WC : 0);
+ gem_set_domain(fd, buf->handle,
+ I915_GEM_DOMAIN_WC,
+ write ? I915_GEM_DOMAIN_WC : 0);
+ }
return buf->ptr;
}
@@ -1272,7 +1281,7 @@ void intel_buf_unmap(struct intel_buf *buf)
igt_assert(buf);
igt_assert(buf->ptr);
- munmap(buf->ptr, buf->surface[0].size);
+ munmap(buf->ptr, buf->bo_size);
buf->ptr = NULL;
}
--
2.34.1
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH i-g-t 03/12] lib/intel_bufops: Add linear-to-none copy path
2024-05-27 7:33 [PATCH i-g-t 00/12] Introduce intel_tiling_detect tool Zbigniew Kempczyński
2024-05-27 7:33 ` [PATCH i-g-t 01/12] lib/intel_bufops: Fix offset returned for Tile4 Zbigniew Kempczyński
2024-05-27 7:33 ` [PATCH i-g-t 02/12] lib/intel_bufops: Fix mapping/unmapping for i915 and xe Zbigniew Kempczyński
@ 2024-05-27 7:33 ` Zbigniew Kempczyński
2024-06-17 11:16 ` Juha-Pekka Heikkila
2024-05-27 7:33 ` [PATCH i-g-t 04/12] lib/intel_bufops: Add Tile4 in linear_to and to_linear helpers Zbigniew Kempczyński
` (11 subsequent siblings)
14 siblings, 1 reply; 32+ messages in thread
From: Zbigniew Kempczyński @ 2024-05-27 7:33 UTC (permalink / raw)
To: igt-dev; +Cc: Zbigniew Kempczyński, Juha-Pekka Heikkila
At first glance copying linear to linear (none) is not necessary
as ordinary memcpy() may be used. But adding this makes iterating
over all possible tilings much easier.
In the upcoming patch I'm going to introduce tiling detection tool
which iterates over all tilings where linear copy is also exercised.
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
lib/intel_bufops.c | 35 ++++++++++++++++++++++++++++++++++-
1 file changed, 34 insertions(+), 1 deletion(-)
diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
index b4ccf4c093..30ba2547dc 100644
--- a/lib/intel_bufops.c
+++ b/lib/intel_bufops.c
@@ -292,6 +292,17 @@ static unsigned long swizzle_addr(void *ptr, uint32_t swizzle)
}
}
+static void *linear_ptr(void *ptr,
+ unsigned int x, unsigned int y,
+ unsigned int stride, unsigned int cpp)
+{
+ int pos;
+
+ pos = (stride/cpp * y + x) * cpp;
+
+ return ptr + pos;
+}
+
static void *x_ptr(void *ptr,
unsigned int x, unsigned int y,
unsigned int stride, unsigned int cpp)
@@ -418,6 +429,9 @@ static tile_fn __get_tile_fn_ptr(int tiling)
tile_fn fn = NULL;
switch (tiling) {
+ case I915_TILING_NONE:
+ fn = linear_ptr;
+ break;
case I915_TILING_X:
fn = x_ptr;
break;
@@ -598,6 +612,13 @@ static void __copy_linear_to(int fd, struct intel_buf *buf,
munmap(map, buf->surface[0].size);
}
+static void copy_linear_to_none(struct buf_ops *bops, struct intel_buf *buf,
+ uint32_t *linear)
+{
+ DEBUGFN();
+ __copy_linear_to(bops->fd, buf, linear, I915_TILING_NONE, 0);
+}
+
static void copy_linear_to_x(struct buf_ops *bops, struct intel_buf *buf,
uint32_t *linear)
{
@@ -655,6 +676,13 @@ static void __copy_to_linear(int fd, struct intel_buf *buf,
munmap(map, buf->surface[0].size);
}
+static void copy_none_to_linear(struct buf_ops *bops, struct intel_buf *buf,
+ uint32_t *linear)
+{
+ DEBUGFN();
+ __copy_to_linear(bops->fd, buf, linear, I915_TILING_NONE, 0);
+}
+
static void copy_x_to_linear(struct buf_ops *bops, struct intel_buf *buf,
uint32_t *linear)
{
@@ -1653,13 +1681,14 @@ static struct buf_ops *__buf_ops_create(int fd, bool check_idempotency)
bops->driver == INTEL_DRIVER_I915 ? "i915" : "xe");
if (bops->driver == INTEL_DRIVER_XE) {
+ bops->linear_to = copy_linear_to_none;
+ bops->to_linear = copy_none_to_linear;
bops->linear_to_x = copy_linear_to_x;
bops->x_to_linear = copy_x_to_linear;
bops->linear_to_y = copy_linear_to_y;
bops->y_to_linear = copy_y_to_linear;
bops->linear_to_tile4 = copy_linear_to_tile4;
bops->tile4_to_linear = copy_tile4_to_linear;
-
bops->linear_to_yf = NULL;
bops->yf_to_linear = NULL;
bops->linear_to_ys = NULL;
@@ -1869,6 +1898,10 @@ bool buf_ops_set_software_tiling(struct buf_ops *bops,
}
switch (tiling) {
+ case I915_TILING_NONE:
+ igt_debug("-> use SW on tiling NONE\n");
+ break;
+
case I915_TILING_X:
if (use_software_tiling) {
bool supported = buf_ops_has_tiling_support(bops, tiling);
--
2.34.1
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH i-g-t 04/12] lib/intel_bufops: Add Tile4 in linear_to and to_linear helpers
2024-05-27 7:33 [PATCH i-g-t 00/12] Introduce intel_tiling_detect tool Zbigniew Kempczyński
` (2 preceding siblings ...)
2024-05-27 7:33 ` [PATCH i-g-t 03/12] lib/intel_bufops: Add linear-to-none copy path Zbigniew Kempczyński
@ 2024-05-27 7:33 ` Zbigniew Kempczyński
2024-06-17 11:16 ` Juha-Pekka Heikkila
2024-05-27 7:33 ` [PATCH i-g-t 05/12] lib/intel_bufops: Add Yf tiling Zbigniew Kempczyński
` (10 subsequent siblings)
14 siblings, 1 reply; 32+ messages in thread
From: Zbigniew Kempczyński @ 2024-05-27 7:33 UTC (permalink / raw)
To: igt-dev; +Cc: Zbigniew Kempczyński, Juha-Pekka Heikkila
intel_buf_to_linear() and linear_to_intel_buf() allows easy tile/detile,
only thing they need is to select appropriate implementation. There's
missing switch for Tile4 so let's add it.
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
lib/intel_bufops.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
index 30ba2547dc..56e37d2da7 100644
--- a/lib/intel_bufops.c
+++ b/lib/intel_bufops.c
@@ -804,6 +804,10 @@ void intel_buf_to_linear(struct buf_ops *bops, struct intel_buf *buf,
igt_assert(bops->ys_to_linear);
bops->ys_to_linear(bops, buf, linear);
break;
+ case I915_TILING_4:
+ igt_assert(bops->tile4_to_linear);
+ bops->tile4_to_linear(bops, buf, linear);
+ break;
}
if (buf->compression)
@@ -836,6 +840,10 @@ void linear_to_intel_buf(struct buf_ops *bops, struct intel_buf *buf,
igt_assert(bops->linear_to_ys);
bops->linear_to_ys(bops, buf, linear);
break;
+ case I915_TILING_4:
+ igt_assert(bops->linear_to_tile4);
+ bops->linear_to_tile4(bops, buf, linear);
+ break;
}
if (buf->compression)
@@ -1942,6 +1950,10 @@ bool buf_ops_set_software_tiling(struct buf_ops *bops,
}
break;
+ case I915_TILING_4:
+ igt_debug("-> use SW on tiling 4\n");
+ break;
+
default:
igt_warn("Invalid tiling: %d\n", tiling);
was_changed = false;
--
2.34.1
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH i-g-t 05/12] lib/intel_bufops: Add Yf tiling
2024-05-27 7:33 [PATCH i-g-t 00/12] Introduce intel_tiling_detect tool Zbigniew Kempczyński
` (3 preceding siblings ...)
2024-05-27 7:33 ` [PATCH i-g-t 04/12] lib/intel_bufops: Add Tile4 in linear_to and to_linear helpers Zbigniew Kempczyński
@ 2024-05-27 7:33 ` Zbigniew Kempczyński
2024-06-17 11:16 ` Juha-Pekka Heikkila
2024-05-27 7:33 ` [PATCH i-g-t 06/12] lib/intel_blt: Add Yf tiling in block-copy Zbigniew Kempczyński
` (9 subsequent siblings)
14 siblings, 1 reply; 32+ messages in thread
From: Zbigniew Kempczyński @ 2024-05-27 7:33 UTC (permalink / raw)
To: igt-dev; +Cc: Zbigniew Kempczyński, Juha-Pekka Heikkila
Start supporting Yf tiling in xe as detection reveals it is Yf, not
Tile4.
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
lib/intel_bufops.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
index 56e37d2da7..36b9aa2a8c 100644
--- a/lib/intel_bufops.c
+++ b/lib/intel_bufops.c
@@ -1697,8 +1697,6 @@ static struct buf_ops *__buf_ops_create(int fd, bool check_idempotency)
bops->y_to_linear = copy_y_to_linear;
bops->linear_to_tile4 = copy_linear_to_tile4;
bops->tile4_to_linear = copy_tile4_to_linear;
- bops->linear_to_yf = NULL;
- bops->yf_to_linear = NULL;
bops->linear_to_ys = NULL;
bops->ys_to_linear = NULL;
@@ -1954,6 +1952,10 @@ bool buf_ops_set_software_tiling(struct buf_ops *bops,
igt_debug("-> use SW on tiling 4\n");
break;
+ case I915_TILING_Yf:
+ igt_debug("-> use SW on tiling Yf\n");
+ break;
+
default:
igt_warn("Invalid tiling: %d\n", tiling);
was_changed = false;
--
2.34.1
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH i-g-t 06/12] lib/intel_blt: Add Yf tiling in block-copy
2024-05-27 7:33 [PATCH i-g-t 00/12] Introduce intel_tiling_detect tool Zbigniew Kempczyński
` (4 preceding siblings ...)
2024-05-27 7:33 ` [PATCH i-g-t 05/12] lib/intel_bufops: Add Yf tiling Zbigniew Kempczyński
@ 2024-05-27 7:33 ` Zbigniew Kempczyński
2024-06-17 11:16 ` Juha-Pekka Heikkila
2024-05-27 7:33 ` [PATCH i-g-t 07/12] lib/intel_bufops: Add Ys tiling in linear_to and to_linear path Zbigniew Kempczyński
` (8 subsequent siblings)
14 siblings, 1 reply; 32+ messages in thread
From: Zbigniew Kempczyński @ 2024-05-27 7:33 UTC (permalink / raw)
To: igt-dev; +Cc: Zbigniew Kempczyński, Juha-Pekka Heikkila
For TGL and DG1 I've noticed we have Yf, not Tile4 specified in the
documentation.
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
lib/intel_blt.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/intel_blt.c b/lib/intel_blt.c
index a8433387d2..d1200ca862 100644
--- a/lib/intel_blt.c
+++ b/lib/intel_blt.c
@@ -555,6 +555,7 @@ static int __block_tiling(enum blt_tiling_type tiling)
case T_XMAJOR: return 1;
case T_YMAJOR: return 1;
case T_TILE4: return 2;
+ case T_YFMAJOR: return 2;
case T_TILE64: return 3;
default:
break;
--
2.34.1
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH i-g-t 07/12] lib/intel_bufops: Add Ys tiling in linear_to and to_linear path
2024-05-27 7:33 [PATCH i-g-t 00/12] Introduce intel_tiling_detect tool Zbigniew Kempczyński
` (5 preceding siblings ...)
2024-05-27 7:33 ` [PATCH i-g-t 06/12] lib/intel_blt: Add Yf tiling in block-copy Zbigniew Kempczyński
@ 2024-05-27 7:33 ` Zbigniew Kempczyński
2024-06-17 11:16 ` Juha-Pekka Heikkila
2024-05-27 7:33 ` [PATCH i-g-t 08/12] lib/intel_bufops: Drop unnecessary Tile4 function assignment Zbigniew Kempczyński
` (7 subsequent siblings)
14 siblings, 1 reply; 32+ messages in thread
From: Zbigniew Kempczyński @ 2024-05-27 7:33 UTC (permalink / raw)
To: igt-dev; +Cc: Zbigniew Kempczyński, Juha-Pekka Heikkila
To iterate over all tilings we need to have each case addressed
in the code. Add missing Ys case.
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
lib/intel_blt.c | 3 +++
lib/intel_bufops.c | 6 ++++--
lib/intel_cmds_info.h | 1 +
3 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/lib/intel_blt.c b/lib/intel_blt.c
index d1200ca862..20c42eec14 100644
--- a/lib/intel_blt.c
+++ b/lib/intel_blt.c
@@ -540,6 +540,7 @@ const char *blt_tiling_name(enum blt_tiling_type tiling)
case T_TILE4: return "tile4";
case T_TILE64: return "tile64";
case T_YFMAJOR: return "yfmajor";
+ case T_YSMAJOR: return "ysmajor";
default:
break;
}
@@ -582,6 +583,7 @@ int blt_tile_to_i915_tile(enum blt_tiling_type tiling)
case T_TILE4: return I915_TILING_4;
case T_TILE64: return I915_TILING_64;
case T_YFMAJOR: return I915_TILING_Yf;
+ case T_YSMAJOR: return I915_TILING_Ys;
default:
break;
}
@@ -606,6 +608,7 @@ enum blt_tiling_type i915_tile_to_blt_tile(uint32_t tiling)
case I915_TILING_4: return T_TILE4;
case I915_TILING_64: return T_TILE64;
case I915_TILING_Yf: return T_YFMAJOR;
+ case I915_TILING_Ys: return T_YSMAJOR;
default:
igt_assert_f(0, "Unknown tiling!\n");
}
diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
index 36b9aa2a8c..38b720624e 100644
--- a/lib/intel_bufops.c
+++ b/lib/intel_bufops.c
@@ -1697,8 +1697,6 @@ static struct buf_ops *__buf_ops_create(int fd, bool check_idempotency)
bops->y_to_linear = copy_y_to_linear;
bops->linear_to_tile4 = copy_linear_to_tile4;
bops->tile4_to_linear = copy_tile4_to_linear;
- bops->linear_to_ys = NULL;
- bops->ys_to_linear = NULL;
return bops;
}
@@ -1956,6 +1954,10 @@ bool buf_ops_set_software_tiling(struct buf_ops *bops,
igt_debug("-> use SW on tiling Yf\n");
break;
+ case I915_TILING_Ys:
+ igt_debug("-> use SW on tiling Ys\n");
+ break;
+
default:
igt_warn("Invalid tiling: %d\n", tiling);
was_changed = false;
diff --git a/lib/intel_cmds_info.h b/lib/intel_cmds_info.h
index 6f7d655083..7960e0412e 100644
--- a/lib/intel_cmds_info.h
+++ b/lib/intel_cmds_info.h
@@ -14,6 +14,7 @@ enum blt_tiling_type {
T_YMAJOR,
T_TILE4,
T_YFMAJOR,
+ T_YSMAJOR,
T_TILE64,
__BLT_MAX_TILING
};
--
2.34.1
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH i-g-t 08/12] lib/intel_bufops: Drop unnecessary Tile4 function assignment
2024-05-27 7:33 [PATCH i-g-t 00/12] Introduce intel_tiling_detect tool Zbigniew Kempczyński
` (6 preceding siblings ...)
2024-05-27 7:33 ` [PATCH i-g-t 07/12] lib/intel_bufops: Add Ys tiling in linear_to and to_linear path Zbigniew Kempczyński
@ 2024-05-27 7:33 ` Zbigniew Kempczyński
2024-06-17 11:16 ` Juha-Pekka Heikkila
2024-05-27 7:33 ` [PATCH i-g-t 09/12] lib/intel_bufops: Preparation for adding software tiling for Tile64 Zbigniew Kempczyński
` (6 subsequent siblings)
14 siblings, 1 reply; 32+ messages in thread
From: Zbigniew Kempczyński @ 2024-05-27 7:33 UTC (permalink / raw)
To: igt-dev; +Cc: Zbigniew Kempczyński, Juha-Pekka Heikkila
Initialization is executed in bufops creation using appropriate
template in which all functions are already assigned so there's
no sense to assign them one more time for xe.
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
lib/intel_bufops.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
index 38b720624e..70f70bfa9e 100644
--- a/lib/intel_bufops.c
+++ b/lib/intel_bufops.c
@@ -1695,8 +1695,6 @@ static struct buf_ops *__buf_ops_create(int fd, bool check_idempotency)
bops->x_to_linear = copy_x_to_linear;
bops->linear_to_y = copy_linear_to_y;
bops->y_to_linear = copy_y_to_linear;
- bops->linear_to_tile4 = copy_linear_to_tile4;
- bops->tile4_to_linear = copy_tile4_to_linear;
return bops;
}
--
2.34.1
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH i-g-t 09/12] lib/intel_bufops: Preparation for adding software tiling for Tile64
2024-05-27 7:33 [PATCH i-g-t 00/12] Introduce intel_tiling_detect tool Zbigniew Kempczyński
` (7 preceding siblings ...)
2024-05-27 7:33 ` [PATCH i-g-t 08/12] lib/intel_bufops: Drop unnecessary Tile4 function assignment Zbigniew Kempczyński
@ 2024-05-27 7:33 ` Zbigniew Kempczyński
2024-06-17 11:17 ` Juha-Pekka Heikkila
2024-05-27 7:33 ` [PATCH i-g-t 10/12] lib/intel_bufops: Drop Tile4 swizzling Zbigniew Kempczyński
` (5 subsequent siblings)
14 siblings, 1 reply; 32+ messages in thread
From: Zbigniew Kempczyński @ 2024-05-27 7:33 UTC (permalink / raw)
To: igt-dev; +Cc: Zbigniew Kempczyński, Juha-Pekka Heikkila
Preliminary patch which adds necessary definitions for Tile64 in
bufops.
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
lib/intel_bufops.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
index 70f70bfa9e..eb367be2f3 100644
--- a/lib/intel_bufops.c
+++ b/lib/intel_bufops.c
@@ -93,6 +93,7 @@
#undef TILE_Yf
#undef TILE_Ys
#undef TILE_4
+#undef TILE_64
#define TILE_DEF(x) (1 << (x))
#define TILE_NONE TILE_DEF(I915_TILING_NONE)
@@ -101,6 +102,7 @@
#define TILE_Yf TILE_DEF(I915_TILING_Yf)
#define TILE_Ys TILE_DEF(I915_TILING_Ys)
#define TILE_4 TILE_DEF(I915_TILING_4)
+#define TILE_64 TILE_DEF(I915_TILING_64)
#define CCS_OFFSET(buf) (buf->ccs[0].offset)
#define CCS_SIZE(gen, buf) \
@@ -143,6 +145,7 @@ static const char *tiling_str(uint32_t tiling)
case I915_TILING_Yf: return "Yf";
case I915_TILING_Ys: return "Ys";
case I915_TILING_4: return "4";
+ case I915_TILING_64: return "64";
default: return "UNKNOWN";
}
}
--
2.34.1
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH i-g-t 10/12] lib/intel_bufops: Drop Tile4 swizzling
2024-05-27 7:33 [PATCH i-g-t 00/12] Introduce intel_tiling_detect tool Zbigniew Kempczyński
` (8 preceding siblings ...)
2024-05-27 7:33 ` [PATCH i-g-t 09/12] lib/intel_bufops: Preparation for adding software tiling for Tile64 Zbigniew Kempczyński
@ 2024-05-27 7:33 ` Zbigniew Kempczyński
2024-06-17 11:17 ` Juha-Pekka Heikkila
2024-05-27 7:33 ` [PATCH i-g-t 11/12] lib/intel_bufops: Don't disable x and y on platforms without swizzling Zbigniew Kempczyński
` (4 subsequent siblings)
14 siblings, 1 reply; 32+ messages in thread
From: Zbigniew Kempczyński @ 2024-05-27 7:33 UTC (permalink / raw)
To: igt-dev; +Cc: Zbigniew Kempczyński, Juha-Pekka Heikkila
Swizzling is used only on older platforms and for X and Y tilings.
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
lib/intel_bufops.c | 38 +++++++-------------------------------
1 file changed, 7 insertions(+), 31 deletions(-)
diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
index eb367be2f3..d0f6ab481f 100644
--- a/lib/intel_bufops.c
+++ b/lib/intel_bufops.c
@@ -121,7 +121,6 @@ struct buf_ops {
uint32_t supported_hw_tiles;
uint32_t swizzle_x;
uint32_t swizzle_y;
- uint32_t swizzle_tile4;
bo_copy linear_to;
bo_copy linear_to_x;
bo_copy linear_to_y;
@@ -654,7 +653,7 @@ static void copy_linear_to_tile4(struct buf_ops *bops, struct intel_buf *buf,
uint32_t *linear)
{
DEBUGFN();
- __copy_linear_to(bops->fd, buf, linear, I915_TILING_4, bops->swizzle_tile4);
+ __copy_linear_to(bops->fd, buf, linear, I915_TILING_4, 0);
}
static void __copy_to_linear(int fd, struct intel_buf *buf,
@@ -1531,7 +1530,7 @@ void intel_buf_draw_pattern(struct buf_ops *bops, struct intel_buf *buf,
#define DEFAULT_BUFOPS(__gen_start, __gen_end) \
.gen_start = __gen_start, \
.gen_end = __gen_end, \
- .supported_hw_tiles = TILE_X | TILE_Y | TILE_4, \
+ .supported_hw_tiles = TILE_X | TILE_Y, \
.linear_to = copy_linear_to_wc, \
.linear_to_x = copy_linear_to_gtt, \
.linear_to_y = copy_linear_to_gtt, \
@@ -1586,8 +1585,6 @@ static bool probe_hw_tiling(struct buf_ops *bops, uint32_t tiling,
bops->swizzle_x = buf_swizzle;
else if (tiling == I915_TILING_Y)
bops->swizzle_y = buf_swizzle;
- else if (tiling == I915_TILING_4)
- bops->swizzle_tile4 = buf_swizzle;
*swizzling_supported = buf_swizzle == phys_swizzle;
}
@@ -1754,36 +1751,15 @@ static struct buf_ops *__buf_ops_create(int fd, bool check_idempotency)
}
}
- if (is_hw_tiling_supported(bops, I915_TILING_4)) {
- bool swizzling_supported;
- bool supported = probe_hw_tiling(bops, I915_TILING_4,
- &swizzling_supported);
-
- if (!swizzling_supported) {
- igt_debug("Swizzling for 4 is not supported\n");
- bops->supported_tiles &= ~TILE_4;
- }
-
- igt_debug("4 fence support: %s\n", bool_str(supported));
- if (!supported) {
- bops->supported_hw_tiles &= ~TILE_4;
- bops->linear_to_tile4 = copy_linear_to_tile4;
- bops->tile4_to_linear = copy_tile4_to_linear;
- }
- }
-
/* Disable other tiling format functions if not supported */
- if (!is_tiling_supported(bops, I915_TILING_Yf)) {
+ if (!is_tiling_supported(bops, I915_TILING_Yf))
igt_debug("Yf format not supported\n");
- bops->linear_to_yf = NULL;
- bops->yf_to_linear = NULL;
- }
- if (!is_tiling_supported(bops, I915_TILING_Ys)) {
+ if (!is_tiling_supported(bops, I915_TILING_Ys))
igt_debug("Ys format not supported\n");
- bops->linear_to_ys = NULL;
- bops->ys_to_linear = NULL;
- }
+
+ if (!is_tiling_supported(bops, I915_TILING_4))
+ igt_debug("Tile4 format not supported\n");
if (check_idempotency) {
idempotency_selftest(bops, I915_TILING_X);
--
2.34.1
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH i-g-t 11/12] lib/intel_bufops: Don't disable x and y on platforms without swizzling
2024-05-27 7:33 [PATCH i-g-t 00/12] Introduce intel_tiling_detect tool Zbigniew Kempczyński
` (9 preceding siblings ...)
2024-05-27 7:33 ` [PATCH i-g-t 10/12] lib/intel_bufops: Drop Tile4 swizzling Zbigniew Kempczyński
@ 2024-05-27 7:33 ` Zbigniew Kempczyński
2024-06-17 16:43 ` Juha-Pekka Heikkila
2024-05-27 7:33 ` [PATCH i-g-t 12/12] tools/intel_tiling_detect: Introduce tiling detection tool Zbigniew Kempczyński
` (3 subsequent siblings)
14 siblings, 1 reply; 32+ messages in thread
From: Zbigniew Kempczyński @ 2024-05-27 7:33 UTC (permalink / raw)
To: igt-dev; +Cc: Zbigniew Kempczyński, Juha-Pekka Heikkila
Upcoming tiling detection tool wants to produce X and Y surfaces
in software so we can't disable X and Y in supported tilings,
otherwise there's no possibility to generate reference tiled surface.
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
lib/intel_bufops.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
index d0f6ab481f..1dfc12bf45 100644
--- a/lib/intel_bufops.c
+++ b/lib/intel_bufops.c
@@ -1720,7 +1720,7 @@ static struct buf_ops *__buf_ops_create(int fd, bool check_idempotency)
bool supported = probe_hw_tiling(bops, I915_TILING_X,
&swizzling_supported);
- if (!swizzling_supported) {
+ if (!swizzling_supported && bops->intel_gen < 12) {
igt_debug("Swizzling for X is not supported\n");
bops->supported_tiles &= ~TILE_X;
}
@@ -1738,7 +1738,7 @@ static struct buf_ops *__buf_ops_create(int fd, bool check_idempotency)
bool supported = probe_hw_tiling(bops, I915_TILING_Y,
&swizzling_supported);
- if (!swizzling_supported) {
+ if (!swizzling_supported && bops->intel_gen < 12) {
igt_debug("Swizzling for Y is not supported\n");
bops->supported_tiles &= ~TILE_Y;
}
--
2.34.1
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH i-g-t 12/12] tools/intel_tiling_detect: Introduce tiling detection tool
2024-05-27 7:33 [PATCH i-g-t 00/12] Introduce intel_tiling_detect tool Zbigniew Kempczyński
` (10 preceding siblings ...)
2024-05-27 7:33 ` [PATCH i-g-t 11/12] lib/intel_bufops: Don't disable x and y on platforms without swizzling Zbigniew Kempczyński
@ 2024-05-27 7:33 ` Zbigniew Kempczyński
2024-06-17 19:21 ` Juha-Pekka Heikkila
2024-06-17 19:46 ` Kamil Konieczny
2024-05-27 18:40 ` ✓ Fi.CI.BAT: success for Introduce intel_tiling_detect tool Patchwork
` (2 subsequent siblings)
14 siblings, 2 replies; 32+ messages in thread
From: Zbigniew Kempczyński @ 2024-05-27 7:33 UTC (permalink / raw)
To: igt-dev; +Cc: Zbigniew Kempczyński, Juha-Pekka Heikkila
In some tests we're incorrectly assumming we get requested tiling.
In blt library we defined available blitter and render tilings for
defined platforms to avoid being wrong and allowing iterators to walk
over proper tilings. Unfortunately we're not sure what's the real
tiling underneath as we're not validating its content.
Instead of blindly trusting the documentation as it might be wrong
or vague lets introduce tiling detection tool for Intel platforms.
Currently it supports detecting linear/X/Y/Yf/Ys/4 tilings (tile64
is queued to be added) in fast-copy, block-copy and render-copy
commands.
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
tools/intel_tiling_detect.c | 432 ++++++++++++++++++++++++++++++++++++
tools/meson.build | 1 +
2 files changed, 433 insertions(+)
create mode 100644 tools/intel_tiling_detect.c
diff --git a/tools/intel_tiling_detect.c b/tools/intel_tiling_detect.c
new file mode 100644
index 0000000000..ea5ea5eae6
--- /dev/null
+++ b/tools/intel_tiling_detect.c
@@ -0,0 +1,432 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2024 Intel Corporation
+ */
+
+#include <errno.h>
+#include <glib.h>
+#include <sys/ioctl.h>
+#include <sys/time.h>
+#include <malloc.h>
+#include "drm.h"
+#include "igt.h"
+#include "igt_syncobj.h"
+#include "i915/gem_create.h"
+#include "intel_blt.h"
+#include "intel_common.h"
+#include "intel_mocs.h"
+#include "intel_pat.h"
+#include "xe/xe_ioctl.h"
+#include "xe/xe_query.h"
+#include "xe/xe_util.h"
+
+IGT_TEST_DESCRIPTION("Exercise gen12 blitter with and without flatccs compression on Xe");
+
+static struct param {
+ int tiling;
+ bool write_png;
+ bool print_bb;
+ bool print_surface_info;
+ int width;
+ int height;
+ int incdim_width;
+} param = {
+ .tiling = -1,
+ .write_png = false,
+ .print_bb = false,
+ .print_surface_info = false,
+ .width = 256,
+ .height = 256,
+ .incdim_width = 1,
+};
+
+struct intel_buf refs[I915_TILING_64] = {};
+
+#define PRINT_SURFACE_INFO(name, obj) do { \
+ if (param.print_surface_info) \
+ blt_surface_info((name), (obj)); } while (0)
+
+#define WRITE_PNG(fd, id, name, obj, w, h, bpp) do { \
+ if (param.write_png) \
+ blt_surface_to_png((fd), (id), (name), (obj), (w), (h), (bpp)); } while (0)
+
+const char *help_str =
+ " -b\tPrint bb\n"
+ " -s\tPrint surface info\n"
+ " -p\tWrite PNG\n"
+ " -W\tWidth (default 256)\n"
+ " -H\tHeight (default 256)\n"
+ " -h\tHelp"
+ ;
+
+enum copy_fn {
+ FAST_COPY,
+ BLOCK_COPY,
+ RENDER_COPY,
+};
+
+static const char * const copy_fn_name[] = {
+ [FAST_COPY] = "fast-copy",
+ [BLOCK_COPY] = "block-copy",
+ [RENDER_COPY] = "render-copy",
+};
+
+static void detect_blt_tiling(const struct blt_copy_object *buf)
+{
+ bool detected = false;
+ int i;
+
+ for (i = 0; i < ARRAY_SIZE(refs); i++) {
+ if (!refs[i].bops)
+ continue;
+
+ if (!memcmp(buf->ptr, refs[i].ptr, buf->size)) {
+ detected = true;
+ break;
+ }
+ }
+
+ igt_info("buffer tiling (claimed): %s, detected: %s\n",
+ blt_tiling_name(buf->tiling),
+ detected ? blt_tiling_name(i915_tile_to_blt_tile(i)) : "unknown");
+}
+
+static void blt_copy(int fd,
+ intel_ctx_t *ctx,
+ const struct intel_execution_engine2 *e,
+ uint32_t width, uint32_t height,
+ enum blt_tiling_type tiling,
+ enum copy_fn fn)
+{
+ struct blt_copy_data blt = {};
+ struct blt_block_copy_data_ext ext = {}, *pext = &ext;
+ struct blt_copy_object *src, *dst;
+ const uint32_t bpp = 32;
+ uint64_t bb_size;
+ uint64_t ahnd = intel_allocator_open(fd, ctx->vm, INTEL_ALLOCATOR_RELOC);
+ uint32_t run_id = tiling;
+ uint32_t src_region, dst_region;
+ uint32_t bb;
+ uint8_t uc_mocs = intel_get_uc_mocs_index(fd);
+ bool is_xe = is_xe_device(fd);
+
+ if (is_xe) {
+ bb_size = xe_bb_size(fd, SZ_4K);
+ src_region = system_memory(fd);
+ dst_region = vram_if_possible(fd, 0);
+ bb = xe_bo_create(fd, 0, bb_size, src_region, 0);
+ } else {
+ bb_size = SZ_4K;
+ src_region = REGION_SMEM;
+ dst_region = gem_has_lmem(fd) ? REGION_LMEM(0) : REGION_SMEM;
+ igt_assert(__gem_create_in_memory_regions(fd, &bb, &bb_size, src_region) == 0);
+ }
+
+ if (!blt_uses_extended_block_copy(fd))
+ pext = NULL;
+
+ blt_copy_init(fd, &blt);
+
+ src = blt_create_object(&blt, src_region, width, height, bpp, uc_mocs,
+ T_LINEAR, COMPRESSION_DISABLED,
+ COMPRESSION_TYPE_3D, true);
+ dst = blt_create_object(&blt, dst_region, width, height, bpp, uc_mocs,
+ tiling, COMPRESSION_DISABLED,
+ COMPRESSION_TYPE_3D, true);
+ PRINT_SURFACE_INFO("src", src);
+ PRINT_SURFACE_INFO("dst", dst);
+
+ blt_surface_fill_rect(fd, src, width, height);
+
+ blt.color_depth = CD_32bit;
+ blt.print_bb = param.print_bb;
+ blt_set_copy_object(&blt.src, src);
+ blt_set_copy_object(&blt.dst, dst);
+ blt_set_object_ext(&ext.src, 0, width, height, SURFACE_TYPE_2D);
+ blt_set_object_ext(&ext.dst, 0, width, height, SURFACE_TYPE_2D);
+ blt_set_batch(&blt.bb, bb, bb_size, src_region);
+ if (fn == BLOCK_COPY)
+ blt_block_copy(fd, ctx, e, ahnd, &blt, pext);
+ else if (fn == FAST_COPY)
+ blt_fast_copy(fd, ctx, e, ahnd, &blt);
+ if (is_xe)
+ intel_ctx_xe_sync(ctx, true);
+ else
+ gem_sync(fd, dst->handle);
+
+ WRITE_PNG(fd, run_id, copy_fn_name[fn], &blt.dst, width, height, bpp);
+
+ detect_blt_tiling(dst);
+
+ /* Politely clean vm */
+ put_offset(ahnd, src->handle);
+ put_offset(ahnd, dst->handle);
+ put_offset(ahnd, bb);
+ intel_allocator_bind(ahnd, 0, 0);
+ blt_destroy_object(fd, src);
+ blt_destroy_object(fd, dst);
+ gem_close(fd, bb);
+ put_ahnd(ahnd);
+}
+
+static void detect_render_tiling(struct intel_buf *buf)
+{
+ bool detected = false;
+ int i;
+
+ intel_buf_device_map(buf, false);
+
+ for (i = 0; i < ARRAY_SIZE(refs); i++) {
+ if (!refs[i].bops)
+ continue;
+
+ if (!memcmp(buf->ptr, refs[i].ptr, buf->size)) {
+ detected = true;
+ break;
+ }
+ }
+
+ intel_buf_unmap(buf);
+
+ igt_info("buffer tiling (claimed): %s, detected: %s\n",
+ blt_tiling_name(buf->tiling),
+ detected ? blt_tiling_name(i915_tile_to_blt_tile(i)) : "unknown");
+}
+
+static void scratch_buf_init(struct buf_ops *bops,
+ struct intel_buf *buf,
+ int width, int height,
+ uint32_t tiling,
+ enum i915_compression compression)
+{
+ int fd = buf_ops_get_fd(bops);
+ int bpp = 32;
+
+ /*
+ * We use system memory even if vram is possible because wc mapping
+ * is extremely slow.
+ */
+ intel_buf_init_in_region(bops, buf, width, height, bpp, 0,
+ tiling, compression,
+ is_xe_device(fd) ? system_memory(fd) : REGION_SMEM);
+
+ igt_assert(intel_buf_width(buf) == width);
+ igt_assert(intel_buf_height(buf) == height);
+}
+
+static void render(int fd, uint32_t width, uint32_t height, uint32_t tiling)
+{
+ struct buf_ops *bops;
+ struct intel_bb *ibb;
+ struct intel_buf src, dst;
+ uint32_t devid = intel_get_drm_devid(fd);
+ igt_render_copyfunc_t render_copy = NULL;
+
+ bops = buf_ops_create(fd);
+
+ igt_debug("%s() gen: %d\n", __func__, intel_gen(devid));
+
+ ibb = intel_bb_create(fd, SZ_4K);
+
+ scratch_buf_init(bops, &src, width, height, I915_TILING_NONE,
+ I915_COMPRESSION_NONE);
+ scratch_buf_init(bops, &dst, width, height, tiling,
+ I915_COMPRESSION_NONE);
+
+ /* Copy reference linear image */
+ intel_buf_device_map(&src, true);
+ memcpy(src.ptr, refs[0].ptr, src.bo_size);
+ intel_buf_unmap(&src);
+
+ render_copy = igt_get_render_copyfunc(devid);
+ igt_assert(render_copy);
+
+ render_copy(ibb,
+ &src,
+ 0, 0, width, height,
+ &dst,
+ 0, 0);
+
+ intel_bb_sync(ibb);
+ intel_bb_destroy(ibb);
+
+ detect_render_tiling(&dst);
+
+ if (param.write_png)
+ intel_buf_raw_write_to_png(&dst, "render-tile-%s.png",
+ blt_tiling_name(i915_tile_to_blt_tile(tiling)));
+
+ intel_buf_close(bops, &src);
+ intel_buf_close(bops, &dst);
+
+ buf_ops_destroy(bops);
+}
+
+static void single_copy(int fd,
+ uint32_t width, uint32_t height,
+ int tiling, enum copy_fn fn)
+{
+ /* for potential hangs */
+ fd = drm_reopen_driver(fd);
+
+ switch (fn) {
+ case BLOCK_COPY:
+ case FAST_COPY:
+ if (is_xe_device(fd)) {
+ struct drm_xe_engine_class_instance inst = {
+ .engine_class = DRM_XE_ENGINE_CLASS_COPY,
+ };
+ uint32_t vm, exec_queue;
+ intel_ctx_t *ctx;
+
+ vm = xe_vm_create(fd, 0, 0);
+ exec_queue = xe_exec_queue_create(fd, vm, &inst, 0);
+ ctx = intel_ctx_xe(fd, vm, exec_queue, 0, 0, 0);
+
+ blt_copy(fd, ctx, NULL, width, height, tiling, fn);
+
+ xe_exec_queue_destroy(fd, exec_queue);
+ xe_vm_destroy(fd, vm);
+ free(ctx);
+ } else {
+ const struct intel_execution_engine2 *e;
+ const intel_ctx_t *ctx;
+
+ ctx = intel_ctx_create_all_physical(fd);
+ for_each_ctx_engine(fd, ctx, e) {
+ if (e->class != I915_ENGINE_CLASS_COPY)
+ continue;
+
+ if (fn == BLOCK_COPY && !gem_engine_can_block_copy(fd, e))
+ continue;
+
+ blt_copy(fd, (intel_ctx_t *)ctx, e,
+ width, height, tiling, fn);
+ break;
+ }
+ intel_ctx_destroy(fd, ctx);
+ }
+ break;
+
+ case RENDER_COPY:
+ render(fd, width, height, blt_tile_to_i915_tile(tiling));
+ break;
+ }
+
+ drm_close_driver(fd);
+}
+
+static void soft_tile(struct buf_ops *bops, struct intel_buf *buf,
+ uint32_t width, uint32_t height, uint32_t tiling)
+{
+ struct blt_copy_data blt = {};
+ struct blt_copy_object *src;
+ int fd = buf_ops_get_fd(bops);
+ uint8_t uc_mocs = intel_get_uc_mocs_index(fd);
+ enum blt_compression_type comp_type = COMPRESSION_TYPE_3D;
+ uint64_t sys_region;
+ const int bpp = 32;
+
+ sys_region = is_xe_device(fd) ? system_memory(fd) : REGION_SMEM;
+ blt_copy_init(fd, &blt);
+ src = blt_create_object(&blt, sys_region, width, height, bpp, uc_mocs,
+ T_LINEAR, COMPRESSION_DISABLED, comp_type, true);
+ blt_surface_fill_rect(fd, src, width, height);
+
+ intel_buf_init(bops, buf, width, height, bpp, 0, tiling, false);
+ buf_ops_set_software_tiling(bops, tiling, true);
+
+ linear_to_intel_buf(bops, buf, src->ptr);
+
+ if (param.write_png)
+ intel_buf_raw_write_to_png(buf, "reference-tile-%s.png",
+ blt_tiling_name(i915_tile_to_blt_tile(tiling)));
+}
+
+static bool try_tile[] = {
+ [I915_TILING_NONE] = true,
+ [I915_TILING_X] = true,
+ [I915_TILING_Y] = true,
+ [I915_TILING_4] = true,
+ [I915_TILING_Yf] = true,
+ [I915_TILING_64] = false,
+};
+
+int main(int argc, char *argv[])
+{
+ struct buf_ops *bops;
+ int fd, i, fn, opt;
+
+ while ((opt = getopt(argc, argv, "bpsW:H:h")) != -1) {
+ switch (opt) {
+ case 'b':
+ param.print_bb = true;
+ break;
+
+ case 'p':
+ param.write_png = true;
+ break;
+
+ case 's':
+ param.print_surface_info = true;
+ break;
+
+ case 'W':
+ param.width = atoi(optarg);
+ break;
+
+ case 'H':
+ param.height = atoi(optarg);
+ break;
+
+ case 'h':
+ igt_info("%s\n", help_str);
+ exit(0);
+ break;
+
+ default:
+ break;
+ }
+ }
+
+ fd = drm_open_driver(DRIVER_INTEL | DRIVER_XE);
+ if (is_xe_device(fd))
+ xe_device_get(fd);
+
+ bops = buf_ops_create(fd);
+
+ for (i = 0; i <= I915_TILING_64; i++) {
+ igt_info("Building reference tile[%-7s] = %s\n",
+ blt_tiling_name(i915_tile_to_blt_tile(i)),
+ try_tile[i] ? "yes" : "no");
+ if (try_tile[i]) {
+ soft_tile(bops, &refs[i],
+ param.width, param.height, i);
+ intel_buf_device_map(&refs[i], false);
+ }
+ }
+
+ for (fn = FAST_COPY; fn <= RENDER_COPY; fn++) {
+ if (fn == FAST_COPY && !blt_has_fast_copy(fd))
+ continue;
+
+ if (fn == BLOCK_COPY && !blt_has_block_copy(fd))
+ continue;
+
+ igt_info("[%s]:\n", copy_fn_name[fn]);
+
+ for (i = 0; i <= I915_TILING_64; i++)
+ if (try_tile[i])
+ single_copy(fd, param.width, param.height,
+ i915_tile_to_blt_tile(i), fn);
+ }
+
+ for (i = 0; i <= I915_TILING_64; i++) {
+ if (try_tile[i])
+ intel_buf_unmap(&refs[i]);
+ }
+
+ if (is_xe_device(fd))
+ xe_device_put(fd);
+ close(fd);
+}
diff --git a/tools/meson.build b/tools/meson.build
index ac79d8b584..1656355eef 100644
--- a/tools/meson.build
+++ b/tools/meson.build
@@ -36,6 +36,7 @@ tools_progs = [
'intel_reg_checker',
'intel_residency',
'intel_stepping',
+ 'intel_tiling_detect',
'intel_vbt_decode',
'intel_watermark',
'intel_gem_info',
--
2.34.1
^ permalink raw reply related [flat|nested] 32+ messages in thread
* ✓ Fi.CI.BAT: success for Introduce intel_tiling_detect tool
2024-05-27 7:33 [PATCH i-g-t 00/12] Introduce intel_tiling_detect tool Zbigniew Kempczyński
` (11 preceding siblings ...)
2024-05-27 7:33 ` [PATCH i-g-t 12/12] tools/intel_tiling_detect: Introduce tiling detection tool Zbigniew Kempczyński
@ 2024-05-27 18:40 ` Patchwork
2024-05-27 18:45 ` ✓ CI.xeBAT: " Patchwork
2024-05-28 7:29 ` ✗ Fi.CI.IGT: failure " Patchwork
14 siblings, 0 replies; 32+ messages in thread
From: Patchwork @ 2024-05-27 18:40 UTC (permalink / raw)
To: Zbigniew Kempczyński; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 12766 bytes --]
== Series Details ==
Series: Introduce intel_tiling_detect tool
URL : https://patchwork.freedesktop.org/series/134062/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_14826 -> IGTPW_11196
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/index.html
Participating hosts (38 -> 40)
------------------------------
Additional (4): bat-dg1-7 fi-cfl-8109u bat-jsl-1 bat-mtlp-8
Missing (2): bat-dg2-11 fi-kbl-8809g
Known issues
------------
Here are the changes found in IGTPW_11196 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@debugfs_test@basic-hwmon:
- bat-jsl-1: NOTRUN -> [SKIP][1] ([i915#9318])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-jsl-1/igt@debugfs_test@basic-hwmon.html
- bat-mtlp-8: NOTRUN -> [SKIP][2] ([i915#9318])
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-mtlp-8/igt@debugfs_test@basic-hwmon.html
* igt@gem_huc_copy@huc-copy:
- fi-cfl-8109u: NOTRUN -> [SKIP][3] ([i915#2190])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/fi-cfl-8109u/igt@gem_huc_copy@huc-copy.html
- bat-jsl-1: NOTRUN -> [SKIP][4] ([i915#2190])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-jsl-1/igt@gem_huc_copy@huc-copy.html
* igt@gem_lmem_swapping@basic@lmem0:
- bat-dg2-9: [PASS][5] -> [FAIL][6] ([i915#10378])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/bat-dg2-9/igt@gem_lmem_swapping@basic@lmem0.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-dg2-9/igt@gem_lmem_swapping@basic@lmem0.html
* igt@gem_lmem_swapping@parallel-random-engines:
- bat-mtlp-8: NOTRUN -> [SKIP][7] ([i915#4613]) +3 other tests skip
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-mtlp-8/igt@gem_lmem_swapping@parallel-random-engines.html
- bat-jsl-1: NOTRUN -> [SKIP][8] ([i915#4613]) +3 other tests skip
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-jsl-1/igt@gem_lmem_swapping@parallel-random-engines.html
* igt@gem_lmem_swapping@verify-random:
- fi-cfl-8109u: NOTRUN -> [SKIP][9] ([i915#4613]) +3 other tests skip
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/fi-cfl-8109u/igt@gem_lmem_swapping@verify-random.html
* igt@gem_mmap@basic:
- bat-mtlp-8: NOTRUN -> [SKIP][10] ([i915#4083])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-mtlp-8/igt@gem_mmap@basic.html
- bat-dg1-7: NOTRUN -> [SKIP][11] ([i915#4083])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-dg1-7/igt@gem_mmap@basic.html
* igt@gem_render_tiled_blits@basic:
- bat-mtlp-8: NOTRUN -> [SKIP][12] ([i915#4079]) +1 other test skip
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-mtlp-8/igt@gem_render_tiled_blits@basic.html
* igt@gem_tiled_blits@basic:
- bat-dg1-7: NOTRUN -> [SKIP][13] ([i915#4077]) +2 other tests skip
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-dg1-7/igt@gem_tiled_blits@basic.html
* igt@gem_tiled_fence_blits@basic:
- bat-mtlp-8: NOTRUN -> [SKIP][14] ([i915#4077]) +2 other tests skip
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-mtlp-8/igt@gem_tiled_fence_blits@basic.html
* igt@gem_tiled_pread_basic:
- bat-dg1-7: NOTRUN -> [SKIP][15] ([i915#4079]) +1 other test skip
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-dg1-7/igt@gem_tiled_pread_basic.html
* igt@i915_module_load@load:
- bat-dg2-9: [PASS][16] -> [DMESG-WARN][17] ([i915#10014])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/bat-dg2-9/igt@i915_module_load@load.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-dg2-9/igt@i915_module_load@load.html
* igt@i915_pm_rps@basic-api:
- bat-mtlp-8: NOTRUN -> [SKIP][18] ([i915#6621])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-mtlp-8/igt@i915_pm_rps@basic-api.html
- bat-dg1-7: NOTRUN -> [SKIP][19] ([i915#6621])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-dg1-7/igt@i915_pm_rps@basic-api.html
* igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
- bat-mtlp-8: NOTRUN -> [SKIP][20] ([i915#5190])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-mtlp-8/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
* igt@kms_addfb_basic@basic-y-tiled-legacy:
- bat-mtlp-8: NOTRUN -> [SKIP][21] ([i915#4212]) +8 other tests skip
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-mtlp-8/igt@kms_addfb_basic@basic-y-tiled-legacy.html
- bat-dg1-7: NOTRUN -> [SKIP][22] ([i915#4215])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-dg1-7/igt@kms_addfb_basic@basic-y-tiled-legacy.html
* igt@kms_addfb_basic@bo-too-small-due-to-tiling:
- bat-dg1-7: NOTRUN -> [SKIP][23] ([i915#4212]) +7 other tests skip
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-dg1-7/igt@kms_addfb_basic@bo-too-small-due-to-tiling.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
- bat-mtlp-8: NOTRUN -> [SKIP][24] ([i915#4213]) +1 other test skip
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-mtlp-8/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
- bat-jsl-1: NOTRUN -> [SKIP][25] ([i915#4103]) +1 other test skip
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-jsl-1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
- bat-dg1-7: NOTRUN -> [SKIP][26] ([i915#4103] / [i915#4213]) +1 other test skip
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-dg1-7/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
* igt@kms_dsc@dsc-basic:
- fi-cfl-8109u: NOTRUN -> [SKIP][27] +11 other tests skip
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/fi-cfl-8109u/igt@kms_dsc@dsc-basic.html
- bat-mtlp-8: NOTRUN -> [SKIP][28] ([i915#3555] / [i915#3840] / [i915#9159])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-mtlp-8/igt@kms_dsc@dsc-basic.html
- bat-jsl-1: NOTRUN -> [SKIP][29] ([i915#3555] / [i915#9886])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-jsl-1/igt@kms_dsc@dsc-basic.html
- bat-dg1-7: NOTRUN -> [SKIP][30] ([i915#3555] / [i915#3840])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-dg1-7/igt@kms_dsc@dsc-basic.html
* igt@kms_force_connector_basic@force-load-detect:
- bat-mtlp-8: NOTRUN -> [SKIP][31]
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-mtlp-8/igt@kms_force_connector_basic@force-load-detect.html
- bat-jsl-1: NOTRUN -> [SKIP][32]
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-jsl-1/igt@kms_force_connector_basic@force-load-detect.html
- bat-dg1-7: NOTRUN -> [SKIP][33]
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-dg1-7/igt@kms_force_connector_basic@force-load-detect.html
* igt@kms_force_connector_basic@prune-stale-modes:
- bat-mtlp-8: NOTRUN -> [SKIP][34] ([i915#5274])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-mtlp-8/igt@kms_force_connector_basic@prune-stale-modes.html
* igt@kms_hdmi_inject@inject-audio:
- bat-dg1-7: NOTRUN -> [SKIP][35] ([i915#433])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-dg1-7/igt@kms_hdmi_inject@inject-audio.html
* igt@kms_pm_backlight@basic-brightness:
- bat-dg1-7: NOTRUN -> [SKIP][36] ([i915#5354])
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-dg1-7/igt@kms_pm_backlight@basic-brightness.html
* igt@kms_psr@psr-primary-mmap-gtt@edp-1:
- bat-mtlp-8: NOTRUN -> [SKIP][37] ([i915#4077] / [i915#9688])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-mtlp-8/igt@kms_psr@psr-primary-mmap-gtt@edp-1.html
* igt@kms_psr@psr-primary-page-flip:
- bat-dg1-7: NOTRUN -> [SKIP][38] ([i915#1072] / [i915#9732]) +3 other tests skip
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-dg1-7/igt@kms_psr@psr-primary-page-flip.html
* igt@kms_setmode@basic-clone-single-crtc:
- bat-mtlp-8: NOTRUN -> [SKIP][39] ([i915#3555] / [i915#8809])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-mtlp-8/igt@kms_setmode@basic-clone-single-crtc.html
- bat-jsl-1: NOTRUN -> [SKIP][40] ([i915#3555])
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-jsl-1/igt@kms_setmode@basic-clone-single-crtc.html
- bat-dg1-7: NOTRUN -> [SKIP][41] ([i915#3555])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-dg1-7/igt@kms_setmode@basic-clone-single-crtc.html
* igt@prime_vgem@basic-fence-mmap:
- bat-dg1-7: NOTRUN -> [SKIP][42] ([i915#3708] / [i915#4077]) +1 other test skip
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-dg1-7/igt@prime_vgem@basic-fence-mmap.html
* igt@prime_vgem@basic-fence-read:
- bat-mtlp-8: NOTRUN -> [SKIP][43] ([i915#3708]) +1 other test skip
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-mtlp-8/igt@prime_vgem@basic-fence-read.html
- bat-dg1-7: NOTRUN -> [SKIP][44] ([i915#3708]) +3 other tests skip
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-dg1-7/igt@prime_vgem@basic-fence-read.html
* igt@prime_vgem@basic-gtt:
- bat-mtlp-8: NOTRUN -> [SKIP][45] ([i915#3708] / [i915#4077]) +1 other test skip
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-mtlp-8/igt@prime_vgem@basic-gtt.html
* igt@prime_vgem@basic-write:
- bat-mtlp-8: NOTRUN -> [SKIP][46] ([i915#10216] / [i915#3708])
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/bat-mtlp-8/igt@prime_vgem@basic-write.html
[i915#10014]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10014
[i915#10216]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10216
[i915#10378]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10378
[i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
[i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
[i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
[i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
[i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
[i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
[i915#4079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4079
[i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
[i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
[i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212
[i915#4213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4213
[i915#4215]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4215
[i915#433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/433
[i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
[i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
[i915#5274]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5274
[i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
[i915#6621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6621
[i915#8809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8809
[i915#9159]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9159
[i915#9318]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9318
[i915#9688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9688
[i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
[i915#9886]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9886
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_7871 -> IGTPW_11196
CI-20190529: 20190529
CI_DRM_14826: 0f0c00c367c8a8621a07443664d5f9a266889e84 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_11196: 7485dd32b91812871816c7e7332ec0ff2b931097 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_7871: 1d7b961235e345db20933c057f265898e2e96fd2 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/index.html
[-- Attachment #2: Type: text/html, Size: 15916 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* ✓ CI.xeBAT: success for Introduce intel_tiling_detect tool
2024-05-27 7:33 [PATCH i-g-t 00/12] Introduce intel_tiling_detect tool Zbigniew Kempczyński
` (12 preceding siblings ...)
2024-05-27 18:40 ` ✓ Fi.CI.BAT: success for Introduce intel_tiling_detect tool Patchwork
@ 2024-05-27 18:45 ` Patchwork
2024-05-28 7:29 ` ✗ Fi.CI.IGT: failure " Patchwork
14 siblings, 0 replies; 32+ messages in thread
From: Patchwork @ 2024-05-27 18:45 UTC (permalink / raw)
To: Zbigniew Kempczyński; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 3125 bytes --]
== Series Details ==
Series: Introduce intel_tiling_detect tool
URL : https://patchwork.freedesktop.org/series/134062/
State : success
== Summary ==
CI Bug Log - changes from XEIGT_7871_BAT -> XEIGTPW_11196_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (4 -> 5)
------------------------------
Additional (1): bat-adlp-7
Known issues
------------
Here are the changes found in XEIGTPW_11196_BAT that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@runner@aborted:
- bat-adlp-7: NOTRUN -> [FAIL][1] ([Intel XE#1953])
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11196/bat-adlp-7/igt@runner@aborted.html
- bat-pvc-2: NOTRUN -> [FAIL][2] ([Intel XE#1953])
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11196/bat-pvc-2/igt@runner@aborted.html
* igt@xe_exec_threads@threads-mixed-userptr-invalidate:
- bat-dg2-oem2: NOTRUN -> [ABORT][3] ([Intel XE#1908] / [Intel XE#1939])
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11196/bat-dg2-oem2/igt@xe_exec_threads@threads-mixed-userptr-invalidate.html
#### Possible fixes ####
* igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12:
- {bat-lnl-1}: [DMESG-WARN][4] ([Intel XE#324]) -> [PASS][5] +2 other tests pass
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7871/bat-lnl-1/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12.html
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11196/bat-lnl-1/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12.html
* igt@xe_exec_threads@threads-mixed-fd-basic:
- bat-dg2-oem2: [ABORT][6] ([Intel XE#1908]) -> [PASS][7]
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7871/bat-dg2-oem2/igt@xe_exec_threads@threads-mixed-fd-basic.html
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11196/bat-dg2-oem2/igt@xe_exec_threads@threads-mixed-fd-basic.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[Intel XE#1908]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1908
[Intel XE#1939]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1939
[Intel XE#1953]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1953
[Intel XE#324]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/324
Build changes
-------------
* IGT: IGT_7871 -> IGTPW_11196
* Linux: xe-1337-1cea2d72e1159a0a7923af196458aa68e6074f90 -> xe-1351-0f0c00c367c8a8621a07443664d5f9a266889e84
IGTPW_11196: 7485dd32b91812871816c7e7332ec0ff2b931097 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_7871: 1d7b961235e345db20933c057f265898e2e96fd2 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-1337-1cea2d72e1159a0a7923af196458aa68e6074f90: 1cea2d72e1159a0a7923af196458aa68e6074f90
xe-1351-0f0c00c367c8a8621a07443664d5f9a266889e84: 0f0c00c367c8a8621a07443664d5f9a266889e84
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11196/index.html
[-- Attachment #2: Type: text/html, Size: 3945 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* ✗ Fi.CI.IGT: failure for Introduce intel_tiling_detect tool
2024-05-27 7:33 [PATCH i-g-t 00/12] Introduce intel_tiling_detect tool Zbigniew Kempczyński
` (13 preceding siblings ...)
2024-05-27 18:45 ` ✓ CI.xeBAT: " Patchwork
@ 2024-05-28 7:29 ` Patchwork
2024-05-28 7:46 ` Zbigniew Kempczyński
14 siblings, 1 reply; 32+ messages in thread
From: Patchwork @ 2024-05-28 7:29 UTC (permalink / raw)
To: Zbigniew Kempczyński; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 89009 bytes --]
== Series Details ==
Series: Introduce intel_tiling_detect tool
URL : https://patchwork.freedesktop.org/series/134062/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_14826_full -> IGTPW_11196_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_11196_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_11196_full, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/index.html
Participating hosts (9 -> 9)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_11196_full:
### IGT changes ###
#### Possible regressions ####
* igt@kms_flip@wf_vblank-ts-check@c-hdmi-a3:
- shard-dg2: NOTRUN -> [INCOMPLETE][1]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-6/igt@kms_flip@wf_vblank-ts-check@c-hdmi-a3.html
New tests
---------
New tests have been introduced between CI_DRM_14826_full and IGTPW_11196_full:
### New IGT tests (9) ###
* igt@kms_flip@2x-absolute-wf_vblank@ab-hdmi-a1-hdmi-a2:
- Statuses : 1 pass(s)
- Exec time: [10.64] s
* igt@kms_flip@2x-absolute-wf_vblank@ac-hdmi-a1-hdmi-a2:
- Statuses : 1 pass(s)
- Exec time: [10.59] s
* igt@kms_flip@2x-absolute-wf_vblank@bc-hdmi-a1-hdmi-a2:
- Statuses : 1 pass(s)
- Exec time: [10.57] s
* igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible@ab-hdmi-a1-hdmi-a2:
- Statuses : 1 pass(s)
- Exec time: [1.91] s
* igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible@ac-hdmi-a1-hdmi-a2:
- Statuses : 1 pass(s)
- Exec time: [1.57] s
* igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible@bc-hdmi-a1-hdmi-a2:
- Statuses : 1 pass(s)
- Exec time: [1.51] s
* igt@kms_flip@2x-nonexisting-fb@ab-hdmi-a1-hdmi-a2:
- Statuses : 1 pass(s)
- Exec time: [0.63] s
* igt@kms_flip@2x-nonexisting-fb@ac-hdmi-a1-hdmi-a2:
- Statuses : 1 pass(s)
- Exec time: [0.57] s
* igt@kms_flip@2x-nonexisting-fb@bc-hdmi-a1-hdmi-a2:
- Statuses : 1 pass(s)
- Exec time: [0.54] s
Known issues
------------
Here are the changes found in IGTPW_11196_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@api_intel_bb@blit-reloc-keep-cache:
- shard-dg1: NOTRUN -> [SKIP][2] ([i915#8411])
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-16/igt@api_intel_bb@blit-reloc-keep-cache.html
* igt@api_intel_bb@crc32:
- shard-dg1: NOTRUN -> [SKIP][3] ([i915#6230])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-17/igt@api_intel_bb@crc32.html
* igt@api_intel_bb@object-reloc-keep-cache:
- shard-dg2: NOTRUN -> [SKIP][4] ([i915#8411])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-2/igt@api_intel_bb@object-reloc-keep-cache.html
* igt@device_reset@cold-reset-bound:
- shard-mtlp: NOTRUN -> [SKIP][5] ([i915#11078])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-8/igt@device_reset@cold-reset-bound.html
* igt@device_reset@unbind-cold-reset-rebind:
- shard-dg2: NOTRUN -> [SKIP][6] ([i915#11078])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-6/igt@device_reset@unbind-cold-reset-rebind.html
* igt@drm_fdinfo@busy-idle-check-all@ccs0:
- shard-mtlp: NOTRUN -> [SKIP][7] ([i915#8414]) +11 other tests skip
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-4/igt@drm_fdinfo@busy-idle-check-all@ccs0.html
* igt@drm_fdinfo@busy-idle-check-all@vcs0:
- shard-dg2: NOTRUN -> [SKIP][8] ([i915#8414]) +7 other tests skip
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-2/igt@drm_fdinfo@busy-idle-check-all@vcs0.html
* igt@drm_fdinfo@busy-idle-check-all@vcs1:
- shard-dg1: NOTRUN -> [SKIP][9] ([i915#8414]) +15 other tests skip
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-16/igt@drm_fdinfo@busy-idle-check-all@vcs1.html
* igt@drm_fdinfo@most-busy-check-all@rcs0:
- shard-rkl: NOTRUN -> [FAIL][10] ([i915#7742])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@drm_fdinfo@most-busy-check-all@rcs0.html
* igt@gem_busy@semaphore:
- shard-dg1: NOTRUN -> [SKIP][11] ([i915#3936])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-18/igt@gem_busy@semaphore.html
* igt@gem_ccs@block-copy-compressed:
- shard-mtlp: NOTRUN -> [SKIP][12] ([i915#3555] / [i915#9323])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-1/igt@gem_ccs@block-copy-compressed.html
* igt@gem_ccs@block-multicopy-compressed:
- shard-rkl: NOTRUN -> [SKIP][13] ([i915#9323])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@gem_ccs@block-multicopy-compressed.html
* igt@gem_ccs@ctrl-surf-copy:
- shard-dg1: NOTRUN -> [SKIP][14] ([i915#3555] / [i915#9323])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-15/igt@gem_ccs@ctrl-surf-copy.html
* igt@gem_create@create-ext-cpu-access-big:
- shard-mtlp: NOTRUN -> [SKIP][15] ([i915#6335])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-8/igt@gem_create@create-ext-cpu-access-big.html
* igt@gem_create@create-ext-set-pat:
- shard-dg2: NOTRUN -> [SKIP][16] ([i915#8562])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-11/igt@gem_create@create-ext-set-pat.html
* igt@gem_ctx_persistence@engines-hostile:
- shard-snb: NOTRUN -> [SKIP][17] ([i915#1099])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-snb4/igt@gem_ctx_persistence@engines-hostile.html
* igt@gem_ctx_persistence@hang:
- shard-dg1: NOTRUN -> [SKIP][18] ([i915#8555])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-18/igt@gem_ctx_persistence@hang.html
* igt@gem_ctx_persistence@saturated-hostile-nopreempt@ccs0:
- shard-dg2: NOTRUN -> [SKIP][19] ([i915#5882]) +6 other tests skip
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-10/igt@gem_ctx_persistence@saturated-hostile-nopreempt@ccs0.html
* igt@gem_ctx_persistence@saturated-hostile-nopreempt@vcs0:
- shard-mtlp: NOTRUN -> [SKIP][20] ([i915#5882]) +5 other tests skip
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-6/igt@gem_ctx_persistence@saturated-hostile-nopreempt@vcs0.html
* igt@gem_ctx_sseu@invalid-args:
- shard-mtlp: NOTRUN -> [SKIP][21] ([i915#280])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-7/igt@gem_ctx_sseu@invalid-args.html
* igt@gem_eio@hibernate:
- shard-rkl: NOTRUN -> [ABORT][22] ([i915#7975] / [i915#8213])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@gem_eio@hibernate.html
* igt@gem_eio@kms:
- shard-dg2: NOTRUN -> [INCOMPLETE][23] ([i915#10513])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-8/igt@gem_eio@kms.html
- shard-dg1: NOTRUN -> [INCOMPLETE][24] ([i915#10513] / [i915#1982])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-17/igt@gem_eio@kms.html
* igt@gem_exec_balancer@parallel-contexts:
- shard-rkl: NOTRUN -> [SKIP][25] ([i915#4525])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-2/igt@gem_exec_balancer@parallel-contexts.html
* igt@gem_exec_capture@capture-invisible@lmem0:
- shard-dg2: NOTRUN -> [SKIP][26] ([i915#6334]) +1 other test skip
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-8/igt@gem_exec_capture@capture-invisible@lmem0.html
* igt@gem_exec_capture@capture@vecs0-lmem0:
- shard-dg1: NOTRUN -> [FAIL][27] ([i915#10386]) +1 other test fail
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-15/igt@gem_exec_capture@capture@vecs0-lmem0.html
* igt@gem_exec_capture@many-4k-zero:
- shard-mtlp: NOTRUN -> [FAIL][28] ([i915#9606])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-3/igt@gem_exec_capture@many-4k-zero.html
* igt@gem_exec_fair@basic-none-share:
- shard-dg2: NOTRUN -> [SKIP][29] ([i915#3539] / [i915#4852]) +3 other tests skip
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-2/igt@gem_exec_fair@basic-none-share.html
* igt@gem_exec_fair@basic-none-solo@rcs0:
- shard-rkl: NOTRUN -> [FAIL][30] ([i915#2842])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@gem_exec_fair@basic-none-solo@rcs0.html
* igt@gem_exec_fair@basic-pace-share:
- shard-mtlp: NOTRUN -> [SKIP][31] ([i915#4473] / [i915#4771])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-3/igt@gem_exec_fair@basic-pace-share.html
* igt@gem_exec_fair@basic-pace-share@rcs0:
- shard-glk: NOTRUN -> [FAIL][32] ([i915#2842])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-glk6/igt@gem_exec_fair@basic-pace-share@rcs0.html
* igt@gem_exec_fair@basic-sync:
- shard-dg2: NOTRUN -> [SKIP][33] ([i915#3539]) +1 other test skip
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-10/igt@gem_exec_fair@basic-sync.html
* igt@gem_exec_fence@submit:
- shard-mtlp: NOTRUN -> [SKIP][34] ([i915#4812]) +1 other test skip
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-8/igt@gem_exec_fence@submit.html
* igt@gem_exec_fence@submit3:
- shard-dg2: NOTRUN -> [SKIP][35] ([i915#4812])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-2/igt@gem_exec_fence@submit3.html
* igt@gem_exec_flush@basic-uc-rw-default:
- shard-dg1: NOTRUN -> [SKIP][36] ([i915#3539] / [i915#4852]) +3 other tests skip
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-15/igt@gem_exec_flush@basic-uc-rw-default.html
* igt@gem_exec_reloc@basic-cpu-gtt:
- shard-rkl: NOTRUN -> [SKIP][37] ([i915#3281]) +5 other tests skip
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-2/igt@gem_exec_reloc@basic-cpu-gtt.html
* igt@gem_exec_reloc@basic-gtt-read:
- shard-dg2: NOTRUN -> [SKIP][38] ([i915#3281]) +11 other tests skip
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-8/igt@gem_exec_reloc@basic-gtt-read.html
* igt@gem_exec_reloc@basic-gtt-wc:
- shard-mtlp: NOTRUN -> [SKIP][39] ([i915#3281]) +4 other tests skip
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-1/igt@gem_exec_reloc@basic-gtt-wc.html
* igt@gem_exec_reloc@basic-gtt-wc-noreloc:
- shard-dg1: NOTRUN -> [SKIP][40] ([i915#3281]) +12 other tests skip
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-17/igt@gem_exec_reloc@basic-gtt-wc-noreloc.html
* igt@gem_exec_schedule@preempt-queue-chain:
- shard-dg2: NOTRUN -> [SKIP][41] ([i915#4537] / [i915#4812]) +1 other test skip
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-8/igt@gem_exec_schedule@preempt-queue-chain.html
* igt@gem_exec_schedule@preempt-queue-contexts:
- shard-dg1: NOTRUN -> [SKIP][42] ([i915#4812]) +1 other test skip
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-18/igt@gem_exec_schedule@preempt-queue-contexts.html
* igt@gem_fence_thrash@bo-write-verify-threaded-none:
- shard-dg1: NOTRUN -> [SKIP][43] ([i915#4860]) +1 other test skip
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-15/igt@gem_fence_thrash@bo-write-verify-threaded-none.html
* igt@gem_fence_thrash@bo-write-verify-y:
- shard-dg2: NOTRUN -> [SKIP][44] ([i915#4860]) +1 other test skip
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-3/igt@gem_fence_thrash@bo-write-verify-y.html
* igt@gem_fenced_exec_thrash@no-spare-fences-busy:
- shard-mtlp: NOTRUN -> [SKIP][45] ([i915#4860])
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-5/igt@gem_fenced_exec_thrash@no-spare-fences-busy.html
* igt@gem_lmem_swapping@heavy-verify-multi:
- shard-rkl: NOTRUN -> [SKIP][46] ([i915#4613]) +1 other test skip
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-2/igt@gem_lmem_swapping@heavy-verify-multi.html
* igt@gem_lmem_swapping@heavy-verify-multi-ccs@lmem0:
- shard-dg1: NOTRUN -> [SKIP][47] ([i915#4565])
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-17/igt@gem_lmem_swapping@heavy-verify-multi-ccs@lmem0.html
* igt@gem_lmem_swapping@random-engines:
- shard-glk: NOTRUN -> [SKIP][48] ([i915#4613]) +5 other tests skip
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-glk3/igt@gem_lmem_swapping@random-engines.html
- shard-mtlp: NOTRUN -> [SKIP][49] ([i915#4613]) +1 other test skip
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-4/igt@gem_lmem_swapping@random-engines.html
* igt@gem_lmem_swapping@verify-ccs@lmem0:
- shard-dg2: NOTRUN -> [FAIL][50] ([i915#10378])
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-6/igt@gem_lmem_swapping@verify-ccs@lmem0.html
* igt@gem_media_fill@media-fill:
- shard-dg2: NOTRUN -> [SKIP][51] ([i915#8289])
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-6/igt@gem_media_fill@media-fill.html
* igt@gem_mmap_gtt@basic-small-bo:
- shard-dg2: NOTRUN -> [SKIP][52] ([i915#4077]) +7 other tests skip
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-6/igt@gem_mmap_gtt@basic-small-bo.html
* igt@gem_mmap_gtt@basic-small-bo-tiledx:
- shard-mtlp: NOTRUN -> [SKIP][53] ([i915#4077]) +8 other tests skip
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-1/igt@gem_mmap_gtt@basic-small-bo-tiledx.html
* igt@gem_mmap_wc@copy:
- shard-dg2: NOTRUN -> [SKIP][54] ([i915#4083]) +2 other tests skip
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-8/igt@gem_mmap_wc@copy.html
* igt@gem_mmap_wc@write-read:
- shard-dg1: NOTRUN -> [SKIP][55] ([i915#4083]) +10 other tests skip
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-18/igt@gem_mmap_wc@write-read.html
* igt@gem_mmap_wc@write-wc-read-gtt:
- shard-mtlp: NOTRUN -> [SKIP][56] ([i915#4083]) +1 other test skip
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-3/igt@gem_mmap_wc@write-wc-read-gtt.html
* igt@gem_partial_pwrite_pread@writes-after-reads:
- shard-dg1: NOTRUN -> [SKIP][57] ([i915#3282]) +3 other tests skip
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-15/igt@gem_partial_pwrite_pread@writes-after-reads.html
* igt@gem_partial_pwrite_pread@writes-after-reads-display:
- shard-dg2: NOTRUN -> [SKIP][58] ([i915#3282]) +5 other tests skip
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-6/igt@gem_partial_pwrite_pread@writes-after-reads-display.html
* igt@gem_pread@exhaustion:
- shard-glk: NOTRUN -> [WARN][59] ([i915#2658])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-glk7/igt@gem_pread@exhaustion.html
* igt@gem_pread@snoop:
- shard-mtlp: NOTRUN -> [SKIP][60] ([i915#3282])
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-8/igt@gem_pread@snoop.html
* igt@gem_pwrite@basic-exhaustion:
- shard-rkl: NOTRUN -> [SKIP][61] ([i915#3282]) +1 other test skip
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@gem_pwrite@basic-exhaustion.html
* igt@gem_pxp@display-protected-crc:
- shard-rkl: NOTRUN -> [SKIP][62] ([i915#4270]) +1 other test skip
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@gem_pxp@display-protected-crc.html
* igt@gem_pxp@protected-raw-src-copy-not-readible:
- shard-dg2: NOTRUN -> [SKIP][63] ([i915#4270]) +2 other tests skip
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-2/igt@gem_pxp@protected-raw-src-copy-not-readible.html
* igt@gem_pxp@verify-pxp-stale-buf-execution:
- shard-mtlp: NOTRUN -> [SKIP][64] ([i915#4270])
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-5/igt@gem_pxp@verify-pxp-stale-buf-execution.html
* igt@gem_pxp@verify-pxp-stale-ctx-execution:
- shard-dg1: NOTRUN -> [SKIP][65] ([i915#4270]) +5 other tests skip
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-18/igt@gem_pxp@verify-pxp-stale-ctx-execution.html
* igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-y-tiled:
- shard-dg2: NOTRUN -> [SKIP][66] ([i915#5190] / [i915#8428]) +4 other tests skip
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-10/igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-y-tiled.html
* igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-yf-tiled:
- shard-mtlp: NOTRUN -> [SKIP][67] ([i915#8428]) +2 other tests skip
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-4/igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-yf-tiled.html
* igt@gem_set_tiling_vs_blt@tiled-to-untiled:
- shard-dg1: NOTRUN -> [SKIP][68] ([i915#4079])
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-18/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html
* igt@gem_set_tiling_vs_pwrite:
- shard-mtlp: NOTRUN -> [SKIP][69] ([i915#4079]) +1 other test skip
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-3/igt@gem_set_tiling_vs_pwrite.html
* igt@gem_softpin@evict-snoop:
- shard-dg1: NOTRUN -> [SKIP][70] ([i915#4885])
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-17/igt@gem_softpin@evict-snoop.html
* igt@gem_tiled_partial_pwrite_pread@writes-after-reads:
- shard-dg1: NOTRUN -> [SKIP][71] ([i915#4077]) +17 other tests skip
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-18/igt@gem_tiled_partial_pwrite_pread@writes-after-reads.html
* igt@gem_unfence_active_buffers:
- shard-dg2: NOTRUN -> [SKIP][72] ([i915#4879])
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-10/igt@gem_unfence_active_buffers.html
* igt@gem_userptr_blits@access-control:
- shard-mtlp: NOTRUN -> [SKIP][73] ([i915#3297]) +1 other test skip
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-2/igt@gem_userptr_blits@access-control.html
* igt@gem_userptr_blits@map-fixed-invalidate-overlap:
- shard-dg2: NOTRUN -> [SKIP][74] ([i915#3297] / [i915#4880])
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-8/igt@gem_userptr_blits@map-fixed-invalidate-overlap.html
* igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy:
- shard-dg1: NOTRUN -> [SKIP][75] ([i915#3297] / [i915#4880])
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-15/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
* igt@gem_userptr_blits@relocations:
- shard-dg1: NOTRUN -> [SKIP][76] ([i915#3281] / [i915#3297])
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-16/igt@gem_userptr_blits@relocations.html
* igt@gem_userptr_blits@sd-probe:
- shard-dg2: NOTRUN -> [SKIP][77] ([i915#3297] / [i915#4958])
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-4/igt@gem_userptr_blits@sd-probe.html
* igt@gem_userptr_blits@unsync-overlap:
- shard-dg2: NOTRUN -> [SKIP][78] ([i915#3297])
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-7/igt@gem_userptr_blits@unsync-overlap.html
* igt@gem_userptr_blits@unsync-unmap-cycles:
- shard-dg1: NOTRUN -> [SKIP][79] ([i915#3297]) +2 other tests skip
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-15/igt@gem_userptr_blits@unsync-unmap-cycles.html
* igt@gen9_exec_parse@allowed-single:
- shard-mtlp: NOTRUN -> [SKIP][80] ([i915#2856]) +3 other tests skip
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-5/igt@gen9_exec_parse@allowed-single.html
* igt@gen9_exec_parse@batch-invalid-length:
- shard-dg1: NOTRUN -> [SKIP][81] ([i915#2527]) +3 other tests skip
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-16/igt@gen9_exec_parse@batch-invalid-length.html
* igt@gen9_exec_parse@shadow-peek:
- shard-dg2: NOTRUN -> [SKIP][82] ([i915#2856]) +3 other tests skip
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-10/igt@gen9_exec_parse@shadow-peek.html
* igt@gen9_exec_parse@unaligned-access:
- shard-rkl: NOTRUN -> [SKIP][83] ([i915#2527]) +2 other tests skip
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@gen9_exec_parse@unaligned-access.html
* igt@i915_module_load@reload-with-fault-injection:
- shard-dg2: [PASS][84] -> [ABORT][85] ([i915#9820])
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/shard-dg2-8/igt@i915_module_load@reload-with-fault-injection.html
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-7/igt@i915_module_load@reload-with-fault-injection.html
* igt@i915_pm_freq_mult@media-freq@gt0:
- shard-rkl: NOTRUN -> [SKIP][86] ([i915#6590])
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-2/igt@i915_pm_freq_mult@media-freq@gt0.html
* igt@i915_pm_rps@min-max-config-loaded:
- shard-dg1: NOTRUN -> [SKIP][87] ([i915#6621])
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-17/igt@i915_pm_rps@min-max-config-loaded.html
* igt@i915_pm_rps@thresholds-idle@gt0:
- shard-dg1: NOTRUN -> [SKIP][88] ([i915#8925]) +1 other test skip
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-15/igt@i915_pm_rps@thresholds-idle@gt0.html
* igt@i915_pm_sseu@full-enable:
- shard-dg2: NOTRUN -> [SKIP][89] ([i915#4387])
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-2/igt@i915_pm_sseu@full-enable.html
* igt@i915_query@hwconfig_table:
- shard-rkl: NOTRUN -> [SKIP][90] ([i915#6245])
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@i915_query@hwconfig_table.html
* igt@i915_selftest@mock@memory_region:
- shard-mtlp: NOTRUN -> [DMESG-WARN][91] ([i915#9311])
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-2/igt@i915_selftest@mock@memory_region.html
* igt@i915_suspend@basic-s3-without-i915:
- shard-mtlp: NOTRUN -> [SKIP][92] ([i915#6645])
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-8/igt@i915_suspend@basic-s3-without-i915.html
* igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy:
- shard-mtlp: NOTRUN -> [SKIP][93] ([i915#4212]) +2 other tests skip
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-4/igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy.html
* igt@kms_addfb_basic@basic-y-tiled-legacy:
- shard-dg1: NOTRUN -> [SKIP][94] ([i915#4215])
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-18/igt@kms_addfb_basic@basic-y-tiled-legacy.html
* igt@kms_addfb_basic@bo-too-small-due-to-tiling:
- shard-dg1: NOTRUN -> [SKIP][95] ([i915#4212]) +1 other test skip
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-17/igt@kms_addfb_basic@bo-too-small-due-to-tiling.html
* igt@kms_addfb_basic@framebuffer-vs-set-tiling:
- shard-dg2: NOTRUN -> [SKIP][96] ([i915#4212])
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-7/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html
* igt@kms_async_flips@async-flip-with-page-flip-events@pipe-d-hdmi-a-2-4-mc-ccs:
- shard-dg2: NOTRUN -> [SKIP][97] ([i915#8709]) +11 other tests skip
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-2/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-d-hdmi-a-2-4-mc-ccs.html
* igt@kms_atomic@plane-primary-overlay-mutable-zpos:
- shard-dg1: NOTRUN -> [SKIP][98] ([i915#9531])
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-16/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
- shard-mtlp: NOTRUN -> [SKIP][99] ([i915#1769] / [i915#3555])
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-2/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
- shard-glk: NOTRUN -> [SKIP][100] ([i915#1769]) +1 other test skip
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-glk7/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html
- shard-rkl: NOTRUN -> [SKIP][101] ([i915#1769] / [i915#3555])
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-2/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html
* igt@kms_big_fb@4-tiled-8bpp-rotate-180:
- shard-dg1: NOTRUN -> [SKIP][102] ([i915#4538] / [i915#5286]) +6 other tests skip
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-17/igt@kms_big_fb@4-tiled-8bpp-rotate-180.html
* igt@kms_big_fb@4-tiled-addfb:
- shard-rkl: NOTRUN -> [SKIP][103] ([i915#5286]) +2 other tests skip
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@kms_big_fb@4-tiled-addfb.html
* igt@kms_big_fb@4-tiled-addfb-size-offset-overflow:
- shard-dg1: NOTRUN -> [SKIP][104] ([i915#5286])
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-15/igt@kms_big_fb@4-tiled-addfb-size-offset-overflow.html
* igt@kms_big_fb@linear-64bpp-rotate-90:
- shard-dg1: NOTRUN -> [SKIP][105] ([i915#3638]) +4 other tests skip
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-17/igt@kms_big_fb@linear-64bpp-rotate-90.html
* igt@kms_big_fb@x-tiled-64bpp-rotate-90:
- shard-rkl: NOTRUN -> [SKIP][106] ([i915#3638])
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-2/igt@kms_big_fb@x-tiled-64bpp-rotate-90.html
* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
- shard-dg2: NOTRUN -> [SKIP][107] ([i915#4538] / [i915#5190]) +12 other tests skip
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-4/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html
* igt@kms_big_fb@yf-tiled-32bpp-rotate-180:
- shard-mtlp: NOTRUN -> [SKIP][108] +12 other tests skip
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-3/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0:
- shard-dg1: NOTRUN -> [SKIP][109] ([i915#4538]) +5 other tests skip
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-15/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0.html
* igt@kms_big_joiner@basic:
- shard-rkl: NOTRUN -> [SKIP][110] ([i915#10656])
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@kms_big_joiner@basic.html
* igt@kms_big_joiner@invalid-modeset:
- shard-dg1: NOTRUN -> [SKIP][111] ([i915#10656]) +2 other tests skip
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-18/igt@kms_big_joiner@invalid-modeset.html
* igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc@pipe-c-hdmi-a-2:
- shard-glk: NOTRUN -> [SKIP][112] +267 other tests skip
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-glk6/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc@pipe-c-hdmi-a-2.html
* igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-4:
- shard-dg1: NOTRUN -> [SKIP][113] ([i915#6095]) +83 other tests skip
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-16/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-4.html
* igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][114] ([i915#6095]) +13 other tests skip
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2.html
* igt@kms_ccs@bad-rotation-90-4-tiled-xe2-ccs:
- shard-rkl: NOTRUN -> [SKIP][115] ([i915#10278])
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@kms_ccs@bad-rotation-90-4-tiled-xe2-ccs.html
- shard-dg1: NOTRUN -> [SKIP][116] ([i915#10278]) +1 other test skip
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-15/igt@kms_ccs@bad-rotation-90-4-tiled-xe2-ccs.html
* igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs@pipe-b-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][117] ([i915#10307] / [i915#6095]) +152 other tests skip
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-8/igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs@pipe-b-hdmi-a-1.html
* igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-mc-ccs@pipe-b-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][118] ([i915#6095]) +27 other tests skip
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-6/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-mc-ccs@pipe-b-edp-1.html
* igt@kms_ccs@crc-primary-basic-4-tiled-mtl-mc-ccs:
- shard-snb: NOTRUN -> [SKIP][119] +51 other tests skip
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-snb4/igt@kms_ccs@crc-primary-basic-4-tiled-mtl-mc-ccs.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-xe2-ccs:
- shard-dg2: NOTRUN -> [SKIP][120] ([i915#10278])
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-6/igt@kms_ccs@crc-primary-rotation-180-4-tiled-xe2-ccs.html
* igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs@pipe-d-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][121] ([i915#10307] / [i915#10434] / [i915#6095]) +6 other tests skip
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-4/igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs@pipe-d-hdmi-a-1.html
* igt@kms_ccs@random-ccs-data-4-tiled-xe2-ccs:
- shard-mtlp: NOTRUN -> [SKIP][122] ([i915#10278])
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-6/igt@kms_ccs@random-ccs-data-4-tiled-xe2-ccs.html
* igt@kms_cdclk@mode-transition:
- shard-rkl: NOTRUN -> [SKIP][123] ([i915#3742])
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@kms_cdclk@mode-transition.html
* igt@kms_cdclk@mode-transition-all-outputs:
- shard-dg1: NOTRUN -> [SKIP][124] ([i915#3742]) +1 other test skip
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-17/igt@kms_cdclk@mode-transition-all-outputs.html
* igt@kms_cdclk@mode-transition@pipe-d-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][125] ([i915#7213]) +4 other tests skip
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-10/igt@kms_cdclk@mode-transition@pipe-d-hdmi-a-1.html
* igt@kms_cdclk@plane-scaling@pipe-d-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][126] ([i915#4087]) +3 other tests skip
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-4/igt@kms_cdclk@plane-scaling@pipe-d-hdmi-a-1.html
* igt@kms_chamelium_edid@dp-edid-stress-resolution-non-4k:
- shard-dg2: NOTRUN -> [SKIP][127] ([i915#7828]) +6 other tests skip
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-2/igt@kms_chamelium_edid@dp-edid-stress-resolution-non-4k.html
* igt@kms_chamelium_edid@hdmi-edid-change-during-suspend:
- shard-dg1: NOTRUN -> [SKIP][128] ([i915#7828]) +9 other tests skip
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-17/igt@kms_chamelium_edid@hdmi-edid-change-during-suspend.html
* igt@kms_chamelium_hpd@dp-hpd-for-each-pipe:
- shard-mtlp: NOTRUN -> [SKIP][129] ([i915#7828]) +5 other tests skip
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-2/igt@kms_chamelium_hpd@dp-hpd-for-each-pipe.html
* igt@kms_chamelium_hpd@hdmi-hpd-fast:
- shard-rkl: NOTRUN -> [SKIP][130] ([i915#7828]) +7 other tests skip
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@kms_chamelium_hpd@hdmi-hpd-fast.html
* igt@kms_content_protection@atomic-dpms@pipe-a-dp-4:
- shard-dg2: NOTRUN -> [TIMEOUT][131] ([i915#7173])
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-11/igt@kms_content_protection@atomic-dpms@pipe-a-dp-4.html
* igt@kms_content_protection@content-type-change:
- shard-dg2: NOTRUN -> [SKIP][132] ([i915#9424])
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-1/igt@kms_content_protection@content-type-change.html
* igt@kms_content_protection@dp-mst-lic-type-0:
- shard-dg2: NOTRUN -> [SKIP][133] ([i915#3299])
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-2/igt@kms_content_protection@dp-mst-lic-type-0.html
* igt@kms_content_protection@dp-mst-type-0:
- shard-rkl: NOTRUN -> [SKIP][134] ([i915#3116])
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-2/igt@kms_content_protection@dp-mst-type-0.html
- shard-dg1: NOTRUN -> [SKIP][135] ([i915#3299]) +1 other test skip
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-13/igt@kms_content_protection@dp-mst-type-0.html
* igt@kms_content_protection@dp-mst-type-1:
- shard-mtlp: NOTRUN -> [SKIP][136] ([i915#3299])
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-6/igt@kms_content_protection@dp-mst-type-1.html
* igt@kms_content_protection@legacy:
- shard-dg1: NOTRUN -> [SKIP][137] ([i915#7116] / [i915#9424])
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-16/igt@kms_content_protection@legacy.html
* igt@kms_content_protection@mei-interface:
- shard-dg1: NOTRUN -> [SKIP][138] ([i915#9424])
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-17/igt@kms_content_protection@mei-interface.html
* igt@kms_content_protection@uevent:
- shard-dg2: NOTRUN -> [SKIP][139] ([i915#7118] / [i915#9424]) +1 other test skip
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-2/igt@kms_content_protection@uevent.html
* igt@kms_cursor_crc@cursor-offscreen-512x512:
- shard-mtlp: NOTRUN -> [SKIP][140] ([i915#3359])
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-3/igt@kms_cursor_crc@cursor-offscreen-512x512.html
* igt@kms_cursor_crc@cursor-onscreen-512x512:
- shard-dg2: NOTRUN -> [SKIP][141] ([i915#3359]) +1 other test skip
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-1/igt@kms_cursor_crc@cursor-onscreen-512x512.html
* igt@kms_cursor_crc@cursor-random-512x512:
- shard-rkl: NOTRUN -> [SKIP][142] ([i915#3359])
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@kms_cursor_crc@cursor-random-512x512.html
- shard-dg1: NOTRUN -> [SKIP][143] ([i915#3359]) +4 other tests skip
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-15/igt@kms_cursor_crc@cursor-random-512x512.html
* igt@kms_cursor_crc@cursor-rapid-movement-256x85:
- shard-mtlp: NOTRUN -> [SKIP][144] ([i915#8814]) +1 other test skip
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-3/igt@kms_cursor_crc@cursor-rapid-movement-256x85.html
* igt@kms_cursor_crc@cursor-rapid-movement-32x10:
- shard-mtlp: NOTRUN -> [SKIP][145] ([i915#3555] / [i915#8814]) +1 other test skip
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-1/igt@kms_cursor_crc@cursor-rapid-movement-32x10.html
* igt@kms_cursor_crc@cursor-rapid-movement-max-size:
- shard-dg2: NOTRUN -> [SKIP][146] ([i915#3555]) +3 other tests skip
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-2/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
- shard-dg2: NOTRUN -> [SKIP][147] ([i915#4103] / [i915#4213]) +1 other test skip
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
- shard-rkl: NOTRUN -> [SKIP][148] ([i915#4103])
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size:
- shard-mtlp: NOTRUN -> [SKIP][149] ([i915#9809]) +2 other tests skip
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-1/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
- shard-dg1: NOTRUN -> [SKIP][150] ([i915#4103] / [i915#4213])
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-15/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html
* igt@kms_cursor_legacy@torture-bo@pipe-a:
- shard-dg2: [PASS][151] -> [DMESG-WARN][152] ([i915#10166])
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/shard-dg2-6/igt@kms_cursor_legacy@torture-bo@pipe-a.html
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-8/igt@kms_cursor_legacy@torture-bo@pipe-a.html
* igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][153] ([i915#9227])
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-7/igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-3.html
* igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-4:
- shard-dg1: NOTRUN -> [SKIP][154] ([i915#9723])
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-15/igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-4.html
* igt@kms_dirtyfb@psr-dirtyfb-ioctl:
- shard-rkl: NOTRUN -> [SKIP][155] ([i915#9723])
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-2/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html
* igt@kms_display_modes@extended-mode-basic:
- shard-mtlp: NOTRUN -> [SKIP][156] ([i915#3555] / [i915#8827])
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-7/igt@kms_display_modes@extended-mode-basic.html
* igt@kms_display_modes@mst-extended-mode-negative:
- shard-dg1: NOTRUN -> [SKIP][157] ([i915#8588])
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-13/igt@kms_display_modes@mst-extended-mode-negative.html
* igt@kms_dp_aux_dev:
- shard-dg2: NOTRUN -> [SKIP][158] ([i915#1257])
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-6/igt@kms_dp_aux_dev.html
- shard-dg1: NOTRUN -> [SKIP][159] ([i915#1257])
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-16/igt@kms_dp_aux_dev.html
* igt@kms_dsc@dsc-fractional-bpp:
- shard-mtlp: NOTRUN -> [SKIP][160] ([i915#3840] / [i915#9688])
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-6/igt@kms_dsc@dsc-fractional-bpp.html
* igt@kms_dsc@dsc-fractional-bpp-with-bpc:
- shard-dg1: NOTRUN -> [SKIP][161] ([i915#3840])
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-18/igt@kms_dsc@dsc-fractional-bpp-with-bpc.html
* igt@kms_dsc@dsc-with-formats:
- shard-rkl: NOTRUN -> [SKIP][162] ([i915#3555] / [i915#3840])
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@kms_dsc@dsc-with-formats.html
* igt@kms_dsc@dsc-with-output-formats:
- shard-dg2: NOTRUN -> [SKIP][163] ([i915#3555] / [i915#3840])
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-10/igt@kms_dsc@dsc-with-output-formats.html
- shard-dg1: NOTRUN -> [SKIP][164] ([i915#3555] / [i915#3840]) +1 other test skip
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-18/igt@kms_dsc@dsc-with-output-formats.html
* igt@kms_dsc@dsc-with-output-formats-with-bpc:
- shard-dg2: NOTRUN -> [SKIP][165] ([i915#3840] / [i915#9053])
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-2/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
* igt@kms_fbcon_fbt@psr:
- shard-dg2: NOTRUN -> [SKIP][166] ([i915#3469]) +1 other test skip
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-8/igt@kms_fbcon_fbt@psr.html
* igt@kms_fbcon_fbt@psr-suspend:
- shard-dg1: NOTRUN -> [SKIP][167] ([i915#3469])
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-18/igt@kms_fbcon_fbt@psr-suspend.html
* igt@kms_feature_discovery@chamelium:
- shard-dg1: NOTRUN -> [SKIP][168] ([i915#4854])
[168]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-18/igt@kms_feature_discovery@chamelium.html
* igt@kms_feature_discovery@display-4x:
- shard-rkl: NOTRUN -> [SKIP][169] ([i915#1839])
[169]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-2/igt@kms_feature_discovery@display-4x.html
- shard-dg1: NOTRUN -> [SKIP][170] ([i915#1839]) +1 other test skip
[170]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-13/igt@kms_feature_discovery@display-4x.html
* igt@kms_feature_discovery@dp-mst:
- shard-rkl: NOTRUN -> [SKIP][171] ([i915#9337])
[171]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@kms_feature_discovery@dp-mst.html
- shard-mtlp: NOTRUN -> [SKIP][172] ([i915#9337])
[172]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-2/igt@kms_feature_discovery@dp-mst.html
* igt@kms_flip@2x-flip-vs-wf_vblank-interruptible:
- shard-dg2: NOTRUN -> [SKIP][173] +12 other tests skip
[173]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-4/igt@kms_flip@2x-flip-vs-wf_vblank-interruptible.html
* igt@kms_flip@2x-modeset-vs-vblank-race-interruptible:
- shard-mtlp: NOTRUN -> [SKIP][174] ([i915#3637]) +6 other tests skip
[174]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-3/igt@kms_flip@2x-modeset-vs-vblank-race-interruptible.html
* igt@kms_flip@2x-plain-flip-ts-check-interruptible:
- shard-dg1: NOTRUN -> [SKIP][175] ([i915#9934]) +4 other tests skip
[175]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-16/igt@kms_flip@2x-plain-flip-ts-check-interruptible.html
* igt@kms_flip@flip-vs-fences:
- shard-mtlp: NOTRUN -> [SKIP][176] ([i915#8381])
[176]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-2/igt@kms_flip@flip-vs-fences.html
* igt@kms_flip@flip-vs-fences-interruptible:
- shard-dg2: NOTRUN -> [SKIP][177] ([i915#8381])
[177]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-4/igt@kms_flip@flip-vs-fences-interruptible.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode:
- shard-mtlp: NOTRUN -> [SKIP][178] ([i915#2672])
[178]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-4/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-default-mode:
- shard-mtlp: NOTRUN -> [SKIP][179] ([i915#8810])
[179]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-7/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-upscaling@pipe-a-valid-mode:
- shard-rkl: NOTRUN -> [SKIP][180] ([i915#2672]) +1 other test skip
[180]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode:
- shard-dg1: NOTRUN -> [SKIP][181] ([i915#2587] / [i915#2672]) +6 other tests skip
[181]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-15/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-default-mode:
- shard-mtlp: NOTRUN -> [SKIP][182] ([i915#2672] / [i915#3555])
[182]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-4/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling@pipe-a-valid-mode:
- shard-dg2: NOTRUN -> [SKIP][183] ([i915#2672]) +2 other tests skip
[183]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-4/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling@pipe-a-valid-mode.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt:
- shard-rkl: NOTRUN -> [SKIP][184] ([i915#1825]) +24 other tests skip
[184]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-wc:
- shard-snb: [PASS][185] -> [SKIP][186] +2 other tests skip
[185]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/shard-snb7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-wc.html
[186]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-snb6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-gtt:
- shard-mtlp: NOTRUN -> [SKIP][187] ([i915#8708]) +3 other tests skip
[187]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-2/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbc-tiling-4:
- shard-dg1: NOTRUN -> [SKIP][188] ([i915#5439])
[188]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-16/igt@kms_frontbuffer_tracking@fbc-tiling-4.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-mmap-wc:
- shard-rkl: NOTRUN -> [SKIP][189] ([i915#3023]) +14 other tests skip
[189]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-2/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render:
- shard-dg2: NOTRUN -> [SKIP][190] ([i915#3458]) +12 other tests skip
[190]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-11/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-plflip-blt:
- shard-dg2: NOTRUN -> [SKIP][191] ([i915#5354]) +35 other tests skip
[191]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-1/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-pwrite:
- shard-dg1: NOTRUN -> [SKIP][192] +51 other tests skip
[192]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-16/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt:
- shard-dg1: NOTRUN -> [SKIP][193] ([i915#3458]) +23 other tests skip
[193]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-13/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt.html
* igt@kms_frontbuffer_tracking@plane-fbc-rte:
- shard-mtlp: NOTRUN -> [SKIP][194] ([i915#10070])
[194]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-6/igt@kms_frontbuffer_tracking@plane-fbc-rte.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc:
- shard-dg1: NOTRUN -> [SKIP][195] ([i915#8708]) +30 other tests skip
[195]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-16/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-pwrite:
- shard-mtlp: NOTRUN -> [SKIP][196] ([i915#1825]) +20 other tests skip
[196]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-7/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-gtt:
- shard-dg2: NOTRUN -> [SKIP][197] ([i915#8708]) +16 other tests skip
[197]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-6/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-gtt.html
* igt@kms_hdr@invalid-metadata-sizes:
- shard-dg1: NOTRUN -> [SKIP][198] ([i915#3555] / [i915#8228]) +1 other test skip
[198]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-17/igt@kms_hdr@invalid-metadata-sizes.html
* igt@kms_hdr@static-toggle-dpms:
- shard-rkl: NOTRUN -> [SKIP][199] ([i915#3555] / [i915#8228])
[199]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@kms_hdr@static-toggle-dpms.html
* igt@kms_hdr@static-toggle-suspend:
- shard-dg2: NOTRUN -> [SKIP][200] ([i915#3555] / [i915#8228]) +2 other tests skip
[200]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-8/igt@kms_hdr@static-toggle-suspend.html
* igt@kms_invalid_mode@clock-too-high@pipe-a-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][201] ([i915#9457]) +3 other tests skip
[201]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-5/igt@kms_invalid_mode@clock-too-high@pipe-a-edp-1.html
* igt@kms_panel_fitting@atomic-fastset:
- shard-dg2: NOTRUN -> [SKIP][202] ([i915#6301])
[202]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-10/igt@kms_panel_fitting@atomic-fastset.html
* igt@kms_plane_lowres@tiling-y:
- shard-mtlp: NOTRUN -> [SKIP][203] ([i915#3555] / [i915#8821])
[203]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-2/igt@kms_plane_lowres@tiling-y.html
* igt@kms_plane_scaling@intel-max-src-size:
- shard-dg2: NOTRUN -> [SKIP][204] ([i915#6953] / [i915#9423])
[204]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-4/igt@kms_plane_scaling@intel-max-src-size.html
* igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-3:
- shard-dg1: NOTRUN -> [FAIL][205] ([i915#8292])
[205]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-13/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-3.html
* igt@kms_plane_scaling@plane-downscale-factor-0-25-with-modifiers@pipe-b-hdmi-a-4:
- shard-dg1: NOTRUN -> [SKIP][206] ([i915#9423]) +3 other tests skip
[206]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-15/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-modifiers@pipe-b-hdmi-a-4.html
* igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-c-hdmi-a-2:
- shard-dg2: NOTRUN -> [SKIP][207] ([i915#9423]) +3 other tests skip
[207]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-2/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-c-hdmi-a-2.html
* igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][208] ([i915#9423]) +1 other test skip
[208]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a-hdmi-a-2.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-a-dp-4:
- shard-dg2: NOTRUN -> [SKIP][209] ([i915#5235] / [i915#9423]) +7 other tests skip
[209]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-11/igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-a-dp-4.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-c-hdmi-a-3:
- shard-dg1: NOTRUN -> [SKIP][210] ([i915#5235]) +7 other tests skip
[210]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-13/igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-c-hdmi-a-3.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-b-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][211] ([i915#5235]) +5 other tests skip
[211]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-b-hdmi-a-2.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-a-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][212] ([i915#5235]) +6 other tests skip
[212]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-1/igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-a-edp-1.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-d-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][213] ([i915#3555] / [i915#5235])
[213]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-1/igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-d-edp-1.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-d-hdmi-a-2:
- shard-dg2: NOTRUN -> [SKIP][214] ([i915#5235] / [i915#9423] / [i915#9728]) +3 other tests skip
[214]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-2/igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-d-hdmi-a-2.html
* igt@kms_pm_backlight@basic-brightness:
- shard-dg1: NOTRUN -> [SKIP][215] ([i915#5354])
[215]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-16/igt@kms_pm_backlight@basic-brightness.html
* igt@kms_pm_dc@dc3co-vpb-simulation:
- shard-dg2: NOTRUN -> [SKIP][216] ([i915#9685])
[216]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-3/igt@kms_pm_dc@dc3co-vpb-simulation.html
* igt@kms_pm_lpsp@kms-lpsp:
- shard-rkl: NOTRUN -> [SKIP][217] ([i915#9340])
[217]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@kms_pm_lpsp@kms-lpsp.html
* igt@kms_pm_lpsp@screens-disabled:
- shard-dg1: NOTRUN -> [SKIP][218] ([i915#8430])
[218]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-17/igt@kms_pm_lpsp@screens-disabled.html
- shard-mtlp: NOTRUN -> [SKIP][219] ([i915#8430])
[219]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-6/igt@kms_pm_lpsp@screens-disabled.html
* igt@kms_pm_rpm@dpms-mode-unset-lpsp:
- shard-dg1: NOTRUN -> [SKIP][220] ([i915#9519])
[220]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-18/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html
* igt@kms_pm_rpm@modeset-lpsp:
- shard-dg2: NOTRUN -> [SKIP][221] ([i915#9519])
[221]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-6/igt@kms_pm_rpm@modeset-lpsp.html
* igt@kms_pm_rpm@modeset-non-lpsp:
- shard-rkl: NOTRUN -> [SKIP][222] ([i915#9519])
[222]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-2/igt@kms_pm_rpm@modeset-non-lpsp.html
* igt@kms_pm_rpm@modeset-non-lpsp-stress:
- shard-dg2: [PASS][223] -> [SKIP][224] ([i915#9519]) +1 other test skip
[223]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/shard-dg2-5/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
[224]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-8/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
* igt@kms_prime@basic-crc-hybrid:
- shard-mtlp: NOTRUN -> [SKIP][225] ([i915#6524])
[225]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-7/igt@kms_prime@basic-crc-hybrid.html
* igt@kms_psr2_sf@fbc-cursor-plane-update-sf@psr2-pipe-b-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][226] ([i915#9808])
[226]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-6/igt@kms_psr2_sf@fbc-cursor-plane-update-sf@psr2-pipe-b-edp-1.html
* igt@kms_psr2_su@page_flip-xrgb8888:
- shard-mtlp: NOTRUN -> [SKIP][227] ([i915#4348])
[227]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-3/igt@kms_psr2_su@page_flip-xrgb8888.html
- shard-dg1: NOTRUN -> [SKIP][228] ([i915#9683])
[228]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-16/igt@kms_psr2_su@page_flip-xrgb8888.html
* igt@kms_psr@fbc-pr-primary-mmap-gtt:
- shard-dg2: NOTRUN -> [SKIP][229] ([i915#1072] / [i915#9732]) +19 other tests skip
[229]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-6/igt@kms_psr@fbc-pr-primary-mmap-gtt.html
* igt@kms_psr@fbc-psr2-sprite-render:
- shard-rkl: NOTRUN -> [SKIP][230] ([i915#1072] / [i915#9732]) +14 other tests skip
[230]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-2/igt@kms_psr@fbc-psr2-sprite-render.html
* igt@kms_psr@pr-cursor-render:
- shard-dg2: NOTRUN -> [SKIP][231] ([i915#1072] / [i915#9673] / [i915#9732]) +2 other tests skip
[231]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-11/igt@kms_psr@pr-cursor-render.html
* igt@kms_psr@pr-sprite-blt:
- shard-mtlp: NOTRUN -> [SKIP][232] ([i915#9688]) +8 other tests skip
[232]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-4/igt@kms_psr@pr-sprite-blt.html
* igt@kms_psr@psr2-sprite-blt:
- shard-dg1: NOTRUN -> [SKIP][233] ([i915#1072] / [i915#9732]) +30 other tests skip
[233]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-15/igt@kms_psr@psr2-sprite-blt.html
* igt@kms_psr@psr2-sprite-mmap-gtt@edp-1:
- shard-mtlp: NOTRUN -> [SKIP][234] ([i915#4077] / [i915#9688])
[234]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-3/igt@kms_psr@psr2-sprite-mmap-gtt@edp-1.html
* igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
- shard-dg1: NOTRUN -> [SKIP][235] ([i915#9685]) +1 other test skip
[235]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-16/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
* igt@kms_rotation_crc@bad-pixel-format:
- shard-dg2: NOTRUN -> [SKIP][236] ([i915#4235])
[236]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-8/igt@kms_rotation_crc@bad-pixel-format.html
* igt@kms_rotation_crc@exhaust-fences:
- shard-mtlp: NOTRUN -> [SKIP][237] ([i915#4235])
[237]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-7/igt@kms_rotation_crc@exhaust-fences.html
* igt@kms_rotation_crc@primary-4-tiled-reflect-x-180:
- shard-rkl: NOTRUN -> [SKIP][238] ([i915#5289])
[238]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@kms_rotation_crc@primary-4-tiled-reflect-x-180.html
* igt@kms_rotation_crc@primary-y-tiled-reflect-x-90:
- shard-dg2: NOTRUN -> [SKIP][239] ([i915#4235] / [i915#5190])
[239]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-2/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
- shard-dg2: NOTRUN -> [SKIP][240] ([i915#5190])
[240]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-8/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
- shard-dg1: NOTRUN -> [SKIP][241] ([i915#5289]) +2 other tests skip
[241]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-15/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
* igt@kms_scaling_modes@scaling-mode-full:
- shard-rkl: NOTRUN -> [SKIP][242] ([i915#3555])
[242]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@kms_scaling_modes@scaling-mode-full.html
* igt@kms_setmode@invalid-clone-exclusive-crtc:
- shard-dg1: NOTRUN -> [SKIP][243] ([i915#3555]) +7 other tests skip
[243]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-18/igt@kms_setmode@invalid-clone-exclusive-crtc.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-dg2: NOTRUN -> [SKIP][244] ([i915#8623])
[244]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-2/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_universal_plane@cursor-fb-leak@pipe-a-edp-1:
- shard-mtlp: [PASS][245] -> [FAIL][246] ([i915#9196])
[245]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/shard-mtlp-2/igt@kms_universal_plane@cursor-fb-leak@pipe-a-edp-1.html
[246]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-8/igt@kms_universal_plane@cursor-fb-leak@pipe-a-edp-1.html
* igt@kms_vrr@flip-basic:
- shard-mtlp: NOTRUN -> [SKIP][247] ([i915#3555] / [i915#8808])
[247]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-5/igt@kms_vrr@flip-basic.html
* igt@kms_vrr@flip-basic-fastset:
- shard-mtlp: NOTRUN -> [SKIP][248] ([i915#8808] / [i915#9906])
[248]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-3/igt@kms_vrr@flip-basic-fastset.html
- shard-dg2: NOTRUN -> [SKIP][249] ([i915#9906])
[249]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-2/igt@kms_vrr@flip-basic-fastset.html
* igt@kms_vrr@max-min:
- shard-dg1: NOTRUN -> [SKIP][250] ([i915#9906]) +1 other test skip
[250]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-17/igt@kms_vrr@max-min.html
* igt@kms_writeback@writeback-check-output:
- shard-glk: NOTRUN -> [SKIP][251] ([i915#2437])
[251]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-glk3/igt@kms_writeback@writeback-check-output.html
* igt@kms_writeback@writeback-invalid-parameters:
- shard-dg2: NOTRUN -> [SKIP][252] ([i915#2437])
[252]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-11/igt@kms_writeback@writeback-invalid-parameters.html
* igt@perf@mi-rpc:
- shard-dg2: NOTRUN -> [SKIP][253] ([i915#2434])
[253]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-8/igt@perf@mi-rpc.html
* igt@perf@per-context-mode-unprivileged:
- shard-rkl: NOTRUN -> [SKIP][254] ([i915#2435])
[254]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-2/igt@perf@per-context-mode-unprivileged.html
- shard-dg1: NOTRUN -> [SKIP][255] ([i915#2433])
[255]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-13/igt@perf@per-context-mode-unprivileged.html
* igt@perf_pmu@frequency@gt0:
- shard-dg1: NOTRUN -> [FAIL][256] ([i915#6806])
[256]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-16/igt@perf_pmu@frequency@gt0.html
* igt@perf_pmu@rc6-all-gts:
- shard-dg1: NOTRUN -> [SKIP][257] ([i915#8516])
[257]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-18/igt@perf_pmu@rc6-all-gts.html
- shard-dg2: NOTRUN -> [SKIP][258] ([i915#8516])
[258]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-4/igt@perf_pmu@rc6-all-gts.html
* igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem:
- shard-dg2: NOTRUN -> [CRASH][259] ([i915#9351])
[259]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-4/igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem.html
* igt@prime_vgem@basic-gtt:
- shard-dg1: NOTRUN -> [SKIP][260] ([i915#3708] / [i915#4077])
[260]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-17/igt@prime_vgem@basic-gtt.html
* igt@prime_vgem@coherency-gtt:
- shard-rkl: NOTRUN -> [SKIP][261] ([i915#3708])
[261]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@prime_vgem@coherency-gtt.html
* igt@prime_vgem@fence-flip-hang:
- shard-dg1: NOTRUN -> [SKIP][262] ([i915#3708]) +1 other test skip
[262]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-17/igt@prime_vgem@fence-flip-hang.html
* igt@prime_vgem@fence-read-hang:
- shard-mtlp: NOTRUN -> [SKIP][263] ([i915#3708])
[263]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-8/igt@prime_vgem@fence-read-hang.html
* igt@prime_vgem@fence-write-hang:
- shard-dg2: NOTRUN -> [SKIP][264] ([i915#3708])
[264]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-11/igt@prime_vgem@fence-write-hang.html
* igt@syncobj_timeline@invalid-wait-zero-handles:
- shard-glk: NOTRUN -> [FAIL][265] ([i915#9781])
[265]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-glk5/igt@syncobj_timeline@invalid-wait-zero-handles.html
* igt@syncobj_wait@invalid-wait-zero-handles:
- shard-rkl: NOTRUN -> [FAIL][266] ([i915#9779])
[266]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@syncobj_wait@invalid-wait-zero-handles.html
* igt@v3d/v3d_job_submission@multiple-singlesync-to-multisync:
- shard-mtlp: NOTRUN -> [SKIP][267] ([i915#2575]) +7 other tests skip
[267]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-4/igt@v3d/v3d_job_submission@multiple-singlesync-to-multisync.html
* igt@v3d/v3d_perfmon@get-values-invalid-pointer:
- shard-dg1: NOTRUN -> [SKIP][268] ([i915#2575]) +19 other tests skip
[268]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-16/igt@v3d/v3d_perfmon@get-values-invalid-pointer.html
* igt@v3d/v3d_submit_csd@valid-multisync-submission:
- shard-rkl: NOTRUN -> [SKIP][269] +28 other tests skip
[269]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@v3d/v3d_submit_csd@valid-multisync-submission.html
* igt@v3d/v3d_wait_bo@used-bo-1ns:
- shard-dg2: NOTRUN -> [SKIP][270] ([i915#2575]) +13 other tests skip
[270]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-2/igt@v3d/v3d_wait_bo@used-bo-1ns.html
* igt@vc4/vc4_mmap@mmap-bad-handle:
- shard-dg1: NOTRUN -> [SKIP][271] ([i915#7711]) +13 other tests skip
[271]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-15/igt@vc4/vc4_mmap@mmap-bad-handle.html
* igt@vc4/vc4_perfmon@create-perfmon-exceed:
- shard-mtlp: NOTRUN -> [SKIP][272] ([i915#7711]) +6 other tests skip
[272]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-2/igt@vc4/vc4_perfmon@create-perfmon-exceed.html
* igt@vc4/vc4_perfmon@get-values-invalid-perfmon:
- shard-rkl: NOTRUN -> [SKIP][273] ([i915#7711]) +4 other tests skip
[273]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-rkl-3/igt@vc4/vc4_perfmon@get-values-invalid-perfmon.html
* igt@vc4/vc4_purgeable_bo@mark-unpurgeable-check-retained:
- shard-dg2: NOTRUN -> [SKIP][274] ([i915#7711]) +3 other tests skip
[274]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-2/igt@vc4/vc4_purgeable_bo@mark-unpurgeable-check-retained.html
#### Possible fixes ####
* igt@gem_create@create-ext-cpu-access-big:
- shard-dg2: [ABORT][275] ([i915#9846]) -> [PASS][276]
[275]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/shard-dg2-8/igt@gem_create@create-ext-cpu-access-big.html
[276]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-6/igt@gem_create@create-ext-cpu-access-big.html
* igt@gem_exec_endless@dispatch@bcs0:
- shard-dg2: [TIMEOUT][277] ([i915#3778] / [i915#7016]) -> [PASS][278]
[277]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/shard-dg2-11/igt@gem_exec_endless@dispatch@bcs0.html
[278]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-1/igt@gem_exec_endless@dispatch@bcs0.html
* igt@gem_lmem_swapping@heavy-multi@lmem0:
- shard-dg2: [FAIL][279] ([i915#10378]) -> [PASS][280]
[279]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/shard-dg2-11/igt@gem_lmem_swapping@heavy-multi@lmem0.html
[280]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-7/igt@gem_lmem_swapping@heavy-multi@lmem0.html
* igt@i915_pm_rc6_residency@rc6-idle@gt0-vcs0:
- shard-dg1: [FAIL][281] ([i915#3591]) -> [PASS][282]
[281]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/shard-dg1-14/igt@i915_pm_rc6_residency@rc6-idle@gt0-vcs0.html
[282]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-17/igt@i915_pm_rc6_residency@rc6-idle@gt0-vcs0.html
* igt@i915_selftest@live@gem_contexts:
- shard-dg1: [INCOMPLETE][283] -> [PASS][284]
[283]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/shard-dg1-17/igt@i915_selftest@live@gem_contexts.html
[284]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-18/igt@i915_selftest@live@gem_contexts.html
* igt@kms_cursor_legacy@torture-move@pipe-a:
- shard-dg2: [DMESG-WARN][285] ([i915#10166]) -> [PASS][286]
[285]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/shard-dg2-1/igt@kms_cursor_legacy@torture-move@pipe-a.html
[286]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-6/igt@kms_cursor_legacy@torture-move@pipe-a.html
* igt@kms_flip@2x-wf_vblank-ts-check@ab-vga1-hdmi-a1:
- shard-snb: [FAIL][287] ([i915#2122]) -> [PASS][288]
[287]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/shard-snb7/igt@kms_flip@2x-wf_vblank-ts-check@ab-vga1-hdmi-a1.html
[288]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-snb2/igt@kms_flip@2x-wf_vblank-ts-check@ab-vga1-hdmi-a1.html
* igt@kms_flip@wf_vblank-ts-check@b-hdmi-a3:
- shard-dg2: [INCOMPLETE][289] -> [PASS][290]
[289]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/shard-dg2-5/igt@kms_flip@wf_vblank-ts-check@b-hdmi-a3.html
[290]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-6/igt@kms_flip@wf_vblank-ts-check@b-hdmi-a3.html
* igt@kms_pm_rpm@modeset-lpsp-stress-no-wait:
- shard-dg2: [SKIP][291] ([i915#9519]) -> [PASS][292]
[291]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/shard-dg2-11/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
[292]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-4/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
#### Warnings ####
* igt@gem_lmem_swapping@heavy-verify-random-ccs@lmem0:
- shard-dg2: [FAIL][293] ([i915#10446]) -> [FAIL][294] ([i915#10378])
[293]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/shard-dg2-6/igt@gem_lmem_swapping@heavy-verify-random-ccs@lmem0.html
[294]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-7/igt@gem_lmem_swapping@heavy-verify-random-ccs@lmem0.html
* igt@gem_userptr_blits@relocations:
- shard-mtlp: [SKIP][295] ([i915#3281]) -> [SKIP][296] ([i915#3281] / [i915#3297])
[295]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/shard-mtlp-4/igt@gem_userptr_blits@relocations.html
[296]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-8/igt@gem_userptr_blits@relocations.html
- shard-dg2: [SKIP][297] ([i915#3281]) -> [SKIP][298] ([i915#3281] / [i915#3297])
[297]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/shard-dg2-11/igt@gem_userptr_blits@relocations.html
[298]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-6/igt@gem_userptr_blits@relocations.html
* igt@i915_module_load@reload-with-fault-injection:
- shard-dg1: [INCOMPLETE][299] ([i915#1982] / [i915#9820] / [i915#9849]) -> [INCOMPLETE][300] ([i915#9820] / [i915#9849])
[299]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/shard-dg1-15/igt@i915_module_load@reload-with-fault-injection.html
[300]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg1-15/igt@i915_module_load@reload-with-fault-injection.html
- shard-mtlp: [ABORT][301] ([i915#10131] / [i915#9820]) -> [ABORT][302] ([i915#10131] / [i915#9697])
[301]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/shard-mtlp-1/igt@i915_module_load@reload-with-fault-injection.html
[302]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-mtlp-1/igt@i915_module_load@reload-with-fault-injection.html
* igt@kms_content_protection@lic-type-1:
- shard-snb: [INCOMPLETE][303] ([i915#8816]) -> [SKIP][304]
[303]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/shard-snb7/igt@kms_content_protection@lic-type-1.html
[304]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-snb6/igt@kms_content_protection@lic-type-1.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-mmap-cpu:
- shard-dg2: [SKIP][305] ([i915#10433] / [i915#3458]) -> [SKIP][306] ([i915#3458]) +5 other tests skip
[305]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-mmap-cpu.html
[306]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-10/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-pwrite:
- shard-dg2: [SKIP][307] ([i915#3458]) -> [SKIP][308] ([i915#10433] / [i915#3458]) +2 other tests skip
[307]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/shard-dg2-5/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-pwrite.html
[308]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-pwrite.html
* igt@kms_psr@fbc-pr-suspend:
- shard-dg2: [SKIP][309] ([i915#1072] / [i915#9673] / [i915#9732]) -> [SKIP][310] ([i915#1072] / [i915#9732]) +13 other tests skip
[309]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/shard-dg2-11/igt@kms_psr@fbc-pr-suspend.html
[310]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-2/igt@kms_psr@fbc-pr-suspend.html
* igt@kms_psr@psr-dpms:
- shard-dg2: [SKIP][311] ([i915#1072] / [i915#9732]) -> [SKIP][312] ([i915#1072] / [i915#9673] / [i915#9732]) +2 other tests skip
[311]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14826/shard-dg2-5/igt@kms_psr@psr-dpms.html
[312]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/shard-dg2-11/igt@kms_psr@psr-dpms.html
[i915#10070]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10070
[i915#10131]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10131
[i915#10166]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10166
[i915#10278]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10278
[i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307
[i915#10378]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10378
[i915#10386]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10386
[i915#10433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10433
[i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434
[i915#10446]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10446
[i915#10513]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10513
[i915#10656]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10656
[i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
[i915#1099]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1099
[i915#11078]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11078
[i915#1257]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1257
[i915#1769]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1769
[i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825
[i915#1839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1839
[i915#1982]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1982
[i915#2122]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2122
[i915#2433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2433
[i915#2434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2434
[i915#2435]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2435
[i915#2437]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2437
[i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
[i915#2575]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2575
[i915#2587]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2587
[i915#2658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2658
[i915#2672]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2672
[i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280
[i915#2842]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2842
[i915#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856
[i915#3023]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3023
[i915#3116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3116
[i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
[i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
[i915#3299]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3299
[i915#3359]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3359
[i915#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458
[i915#3469]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3469
[i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539
[i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
[i915#3591]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3591
[i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
[i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638
[i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
[i915#3742]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3742
[i915#3778]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3778
[i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
[i915#3936]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3936
[i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
[i915#4079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4079
[i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
[i915#4087]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4087
[i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
[i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212
[i915#4213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4213
[i915#4215]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4215
[i915#4235]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4235
[i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
[i915#4348]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4348
[i915#4387]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4387
[i915#4473]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4473
[i915#4525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4525
[i915#4537]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4537
[i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538
[i915#4565]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4565
[i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
[i915#4771]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4771
[i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812
[i915#4852]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4852
[i915#4854]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4854
[i915#4860]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4860
[i915#4879]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4879
[i915#4880]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4880
[i915#4885]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4885
[i915#4958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4958
[i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
[i915#5235]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5235
[i915#5286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5286
[i915#5289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5289
[i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
[i915#5439]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5439
[i915#5882]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5882
[i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
[i915#6230]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6230
[i915#6245]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6245
[i915#6301]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6301
[i915#6334]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6334
[i915#6335]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6335
[i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524
[i915#6590]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6590
[i915#6621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6621
[i915#6645]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6645
[i915#6806]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6806
[i915#6953]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6953
[i915#7016]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7016
[i915#7116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7116
[i915#7118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7118
[i915#7173]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7173
[i915#7213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7213
[i915#7711]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7711
[i915#7742]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7742
[i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
[i915#7975]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7975
[i915#8213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8213
[i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
[i915#8289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8289
[i915#8292]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8292
[i915#8381]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8381
[i915#8411]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8411
[i915#8414]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8414
[i915#8428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8428
[i915#8430]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8430
[i915#8516]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8516
[i915#8555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8555
[i915#8562]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8562
[i915#8588]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8588
[i915#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623
[i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
[i915#8709]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8709
[i915#8808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8808
[i915#8810]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8810
[i915#8814]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8814
[i915#8816]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8816
[i915#8821]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8821
[i915#8827]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8827
[i915#8925]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8925
[i915#9053]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9053
[i915#9196]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9196
[i915#9227]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9227
[i915#9311]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9311
[i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
[i915#9337]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9337
[i915#9340]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9340
[i915#9351]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9351
[i915#9423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9423
[i915#9424]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9424
[i915#9457]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9457
[i915#9519]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9519
[i915#9531]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9531
[i915#9606]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9606
[i915#9673]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9673
[i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683
[i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685
[i915#9688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9688
[i915#9697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9697
[i915#9723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9723
[i915#9728]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9728
[i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
[i915#9779]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9779
[i915#9781]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9781
[i915#9808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9808
[i915#9809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9809
[i915#9820]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9820
[i915#9846]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9846
[i915#9849]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9849
[i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906
[i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_7871 -> IGTPW_11196
CI-20190529: 20190529
CI_DRM_14826: 0f0c00c367c8a8621a07443664d5f9a266889e84 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_11196: 7485dd32b91812871816c7e7332ec0ff2b931097 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_7871: 1d7b961235e345db20933c057f265898e2e96fd2 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/index.html
[-- Attachment #2: Type: text/html, Size: 111067 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: ✗ Fi.CI.IGT: failure for Introduce intel_tiling_detect tool
2024-05-28 7:29 ` ✗ Fi.CI.IGT: failure " Patchwork
@ 2024-05-28 7:46 ` Zbigniew Kempczyński
0 siblings, 0 replies; 32+ messages in thread
From: Zbigniew Kempczyński @ 2024-05-28 7:46 UTC (permalink / raw)
To: igt-dev; +Cc: I915-ci-infra
On Tue, May 28, 2024 at 07:29:04AM +0000, Patchwork wrote:
> Patch Details
>
> Series: Introduce intel_tiling_detect tool
> URL: https://patchwork.freedesktop.org/series/134062/
> State: failure
> Details: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/index.html
>
> CI Bug Log - changes from CI_DRM_14826_full -> IGTPW_11196_full
>
> Summary
>
> FAILURE
>
> Serious unknown changes coming with IGTPW_11196_full absolutely need to be
> verified manually.
>
> If you think the reported changes have nothing to do with the changes
> introduced in IGTPW_11196_full, please notify your bug team
> (I915-ci-infra@lists.freedesktop.org) to allow them
> to document this new failure mode, which will reduce false positives in
> CI.
>
> External URL:
> https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11196/index.html
>
> Participating hosts (9 -> 9)
>
> No changes in participating hosts
>
> Possible new issues
>
> Here are the unknown changes that may have been introduced in
> IGTPW_11196_full:
>
> IGT changes
>
> Possible regressions
>
> * igt@kms_flip@wf_vblank-ts-check@c-hdmi-a3:
> * shard-dg2: NOTRUN -> INCOMPLETE
Unrelated to the change.
--
Zbigniew
>
> New tests
>
> New tests have been introduced between CI_DRM_14826_full and
> IGTPW_11196_full:
>
> New IGT tests (9)
>
> * igt@kms_flip@2x-absolute-wf_vblank@ab-hdmi-a1-hdmi-a2:
>
> * Statuses : 1 pass(s)
> * Exec time: [10.64] s
> * igt@kms_flip@2x-absolute-wf_vblank@ac-hdmi-a1-hdmi-a2:
>
> * Statuses : 1 pass(s)
> * Exec time: [10.59] s
> * igt@kms_flip@2x-absolute-wf_vblank@bc-hdmi-a1-hdmi-a2:
>
> * Statuses : 1 pass(s)
> * Exec time: [10.57] s
> * igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible@ab-hdmi-a1-hdmi-a2:
>
> * Statuses : 1 pass(s)
> * Exec time: [1.91] s
> * igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible@ac-hdmi-a1-hdmi-a2:
>
> * Statuses : 1 pass(s)
> * Exec time: [1.57] s
> * igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible@bc-hdmi-a1-hdmi-a2:
>
> * Statuses : 1 pass(s)
> * Exec time: [1.51] s
> * igt@kms_flip@2x-nonexisting-fb@ab-hdmi-a1-hdmi-a2:
>
> * Statuses : 1 pass(s)
> * Exec time: [0.63] s
> * igt@kms_flip@2x-nonexisting-fb@ac-hdmi-a1-hdmi-a2:
>
> * Statuses : 1 pass(s)
> * Exec time: [0.57] s
> * igt@kms_flip@2x-nonexisting-fb@bc-hdmi-a1-hdmi-a2:
>
> * Statuses : 1 pass(s)
> * Exec time: [0.54] s
>
> Known issues
>
> Here are the changes found in IGTPW_11196_full that come from known
> issues:
>
> IGT changes
>
> Issues hit
>
> * igt@api_intel_bb@blit-reloc-keep-cache:
>
> * shard-dg1: NOTRUN -> SKIP (i915#8411)
> * igt@api_intel_bb@crc32:
>
> * shard-dg1: NOTRUN -> SKIP (i915#6230)
> * igt@api_intel_bb@object-reloc-keep-cache:
>
> * shard-dg2: NOTRUN -> SKIP (i915#8411)
> * igt@device_reset@cold-reset-bound:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#11078)
> * igt@device_reset@unbind-cold-reset-rebind:
>
> * shard-dg2: NOTRUN -> SKIP (i915#11078)
> * igt@drm_fdinfo@busy-idle-check-all@ccs0:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#8414) +11 other tests skip
> * igt@drm_fdinfo@busy-idle-check-all@vcs0:
>
> * shard-dg2: NOTRUN -> SKIP (i915#8414) +7 other tests skip
> * igt@drm_fdinfo@busy-idle-check-all@vcs1:
>
> * shard-dg1: NOTRUN -> SKIP (i915#8414) +15 other tests skip
> * igt@drm_fdinfo@most-busy-check-all@rcs0:
>
> * shard-rkl: NOTRUN -> FAIL (i915#7742)
> * igt@gem_busy@semaphore:
>
> * shard-dg1: NOTRUN -> SKIP (i915#3936)
> * igt@gem_ccs@block-copy-compressed:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#3555 / i915#9323)
> * igt@gem_ccs@block-multicopy-compressed:
>
> * shard-rkl: NOTRUN -> SKIP (i915#9323)
> * igt@gem_ccs@ctrl-surf-copy:
>
> * shard-dg1: NOTRUN -> SKIP (i915#3555 / i915#9323)
> * igt@gem_create@create-ext-cpu-access-big:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#6335)
> * igt@gem_create@create-ext-set-pat:
>
> * shard-dg2: NOTRUN -> SKIP (i915#8562)
> * igt@gem_ctx_persistence@engines-hostile:
>
> * shard-snb: NOTRUN -> SKIP (i915#1099)
> * igt@gem_ctx_persistence@hang:
>
> * shard-dg1: NOTRUN -> SKIP (i915#8555)
> * igt@gem_ctx_persistence@saturated-hostile-nopreempt@ccs0:
>
> * shard-dg2: NOTRUN -> SKIP (i915#5882) +6 other tests skip
> * igt@gem_ctx_persistence@saturated-hostile-nopreempt@vcs0:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#5882) +5 other tests skip
> * igt@gem_ctx_sseu@invalid-args:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#280)
> * igt@gem_eio@hibernate:
>
> * shard-rkl: NOTRUN -> ABORT (i915#7975 / i915#8213)
> * igt@gem_eio@kms:
>
> * shard-dg2: NOTRUN -> INCOMPLETE (i915#10513)
> * shard-dg1: NOTRUN -> INCOMPLETE (i915#10513 / i915#1982)
> * igt@gem_exec_balancer@parallel-contexts:
>
> * shard-rkl: NOTRUN -> SKIP (i915#4525)
> * igt@gem_exec_capture@capture-invisible@lmem0:
>
> * shard-dg2: NOTRUN -> SKIP (i915#6334) +1 other test skip
> * igt@gem_exec_capture@capture@vecs0-lmem0:
>
> * shard-dg1: NOTRUN -> FAIL (i915#10386) +1 other test fail
> * igt@gem_exec_capture@many-4k-zero:
>
> * shard-mtlp: NOTRUN -> FAIL (i915#9606)
> * igt@gem_exec_fair@basic-none-share:
>
> * shard-dg2: NOTRUN -> SKIP (i915#3539 / i915#4852) +3 other tests
> skip
> * igt@gem_exec_fair@basic-none-solo@rcs0:
>
> * shard-rkl: NOTRUN -> FAIL (i915#2842)
> * igt@gem_exec_fair@basic-pace-share:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#4473 / i915#4771)
> * igt@gem_exec_fair@basic-pace-share@rcs0:
>
> * shard-glk: NOTRUN -> FAIL (i915#2842)
> * igt@gem_exec_fair@basic-sync:
>
> * shard-dg2: NOTRUN -> SKIP (i915#3539) +1 other test skip
> * igt@gem_exec_fence@submit:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#4812) +1 other test skip
> * igt@gem_exec_fence@submit3:
>
> * shard-dg2: NOTRUN -> SKIP (i915#4812)
> * igt@gem_exec_flush@basic-uc-rw-default:
>
> * shard-dg1: NOTRUN -> SKIP (i915#3539 / i915#4852) +3 other tests
> skip
> * igt@gem_exec_reloc@basic-cpu-gtt:
>
> * shard-rkl: NOTRUN -> SKIP (i915#3281) +5 other tests skip
> * igt@gem_exec_reloc@basic-gtt-read:
>
> * shard-dg2: NOTRUN -> SKIP (i915#3281) +11 other tests skip
> * igt@gem_exec_reloc@basic-gtt-wc:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#3281) +4 other tests skip
> * igt@gem_exec_reloc@basic-gtt-wc-noreloc:
>
> * shard-dg1: NOTRUN -> SKIP (i915#3281) +12 other tests skip
> * igt@gem_exec_schedule@preempt-queue-chain:
>
> * shard-dg2: NOTRUN -> SKIP (i915#4537 / i915#4812) +1 other test
> skip
> * igt@gem_exec_schedule@preempt-queue-contexts:
>
> * shard-dg1: NOTRUN -> SKIP (i915#4812) +1 other test skip
> * igt@gem_fence_thrash@bo-write-verify-threaded-none:
>
> * shard-dg1: NOTRUN -> SKIP (i915#4860) +1 other test skip
> * igt@gem_fence_thrash@bo-write-verify-y:
>
> * shard-dg2: NOTRUN -> SKIP (i915#4860) +1 other test skip
> * igt@gem_fenced_exec_thrash@no-spare-fences-busy:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#4860)
> * igt@gem_lmem_swapping@heavy-verify-multi:
>
> * shard-rkl: NOTRUN -> SKIP (i915#4613) +1 other test skip
> * igt@gem_lmem_swapping@heavy-verify-multi-ccs@lmem0:
>
> * shard-dg1: NOTRUN -> SKIP (i915#4565)
> * igt@gem_lmem_swapping@random-engines:
>
> * shard-glk: NOTRUN -> SKIP (i915#4613) +5 other tests skip
> * shard-mtlp: NOTRUN -> SKIP (i915#4613) +1 other test skip
> * igt@gem_lmem_swapping@verify-ccs@lmem0:
>
> * shard-dg2: NOTRUN -> FAIL (i915#10378)
> * igt@gem_media_fill@media-fill:
>
> * shard-dg2: NOTRUN -> SKIP (i915#8289)
> * igt@gem_mmap_gtt@basic-small-bo:
>
> * shard-dg2: NOTRUN -> SKIP (i915#4077) +7 other tests skip
> * igt@gem_mmap_gtt@basic-small-bo-tiledx:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#4077) +8 other tests skip
> * igt@gem_mmap_wc@copy:
>
> * shard-dg2: NOTRUN -> SKIP (i915#4083) +2 other tests skip
> * igt@gem_mmap_wc@write-read:
>
> * shard-dg1: NOTRUN -> SKIP (i915#4083) +10 other tests skip
> * igt@gem_mmap_wc@write-wc-read-gtt:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#4083) +1 other test skip
> * igt@gem_partial_pwrite_pread@writes-after-reads:
>
> * shard-dg1: NOTRUN -> SKIP (i915#3282) +3 other tests skip
> * igt@gem_partial_pwrite_pread@writes-after-reads-display:
>
> * shard-dg2: NOTRUN -> SKIP (i915#3282) +5 other tests skip
> * igt@gem_pread@exhaustion:
>
> * shard-glk: NOTRUN -> WARN (i915#2658)
> * igt@gem_pread@snoop:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#3282)
> * igt@gem_pwrite@basic-exhaustion:
>
> * shard-rkl: NOTRUN -> SKIP (i915#3282) +1 other test skip
> * igt@gem_pxp@display-protected-crc:
>
> * shard-rkl: NOTRUN -> SKIP (i915#4270) +1 other test skip
> * igt@gem_pxp@protected-raw-src-copy-not-readible:
>
> * shard-dg2: NOTRUN -> SKIP (i915#4270) +2 other tests skip
> * igt@gem_pxp@verify-pxp-stale-buf-execution:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#4270)
> * igt@gem_pxp@verify-pxp-stale-ctx-execution:
>
> * shard-dg1: NOTRUN -> SKIP (i915#4270) +5 other tests skip
> * igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-y-tiled:
>
> * shard-dg2: NOTRUN -> SKIP (i915#5190 / i915#8428) +4 other tests
> skip
> * igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-yf-tiled:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#8428) +2 other tests skip
> * igt@gem_set_tiling_vs_blt@tiled-to-untiled:
>
> * shard-dg1: NOTRUN -> SKIP (i915#4079)
> * igt@gem_set_tiling_vs_pwrite:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#4079) +1 other test skip
> * igt@gem_softpin@evict-snoop:
>
> * shard-dg1: NOTRUN -> SKIP (i915#4885)
> * igt@gem_tiled_partial_pwrite_pread@writes-after-reads:
>
> * shard-dg1: NOTRUN -> SKIP (i915#4077) +17 other tests skip
> * igt@gem_unfence_active_buffers:
>
> * shard-dg2: NOTRUN -> SKIP (i915#4879)
> * igt@gem_userptr_blits@access-control:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#3297) +1 other test skip
> * igt@gem_userptr_blits@map-fixed-invalidate-overlap:
>
> * shard-dg2: NOTRUN -> SKIP (i915#3297 / i915#4880)
> * igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy:
>
> * shard-dg1: NOTRUN -> SKIP (i915#3297 / i915#4880)
> * igt@gem_userptr_blits@relocations:
>
> * shard-dg1: NOTRUN -> SKIP (i915#3281 / i915#3297)
> * igt@gem_userptr_blits@sd-probe:
>
> * shard-dg2: NOTRUN -> SKIP (i915#3297 / i915#4958)
> * igt@gem_userptr_blits@unsync-overlap:
>
> * shard-dg2: NOTRUN -> SKIP (i915#3297)
> * igt@gem_userptr_blits@unsync-unmap-cycles:
>
> * shard-dg1: NOTRUN -> SKIP (i915#3297) +2 other tests skip
> * igt@gen9_exec_parse@allowed-single:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#2856) +3 other tests skip
> * igt@gen9_exec_parse@batch-invalid-length:
>
> * shard-dg1: NOTRUN -> SKIP (i915#2527) +3 other tests skip
> * igt@gen9_exec_parse@shadow-peek:
>
> * shard-dg2: NOTRUN -> SKIP (i915#2856) +3 other tests skip
> * igt@gen9_exec_parse@unaligned-access:
>
> * shard-rkl: NOTRUN -> SKIP (i915#2527) +2 other tests skip
> * igt@i915_module_load@reload-with-fault-injection:
>
> * shard-dg2: PASS -> ABORT (i915#9820)
> * igt@i915_pm_freq_mult@media-freq@gt0:
>
> * shard-rkl: NOTRUN -> SKIP (i915#6590)
> * igt@i915_pm_rps@min-max-config-loaded:
>
> * shard-dg1: NOTRUN -> SKIP (i915#6621)
> * igt@i915_pm_rps@thresholds-idle@gt0:
>
> * shard-dg1: NOTRUN -> SKIP (i915#8925) +1 other test skip
> * igt@i915_pm_sseu@full-enable:
>
> * shard-dg2: NOTRUN -> SKIP (i915#4387)
> * igt@i915_query@hwconfig_table:
>
> * shard-rkl: NOTRUN -> SKIP (i915#6245)
> * igt@i915_selftest@mock@memory_region:
>
> * shard-mtlp: NOTRUN -> DMESG-WARN (i915#9311)
> * igt@i915_suspend@basic-s3-without-i915:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#6645)
> * igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#4212) +2 other tests skip
> * igt@kms_addfb_basic@basic-y-tiled-legacy:
>
> * shard-dg1: NOTRUN -> SKIP (i915#4215)
> * igt@kms_addfb_basic@bo-too-small-due-to-tiling:
>
> * shard-dg1: NOTRUN -> SKIP (i915#4212) +1 other test skip
> * igt@kms_addfb_basic@framebuffer-vs-set-tiling:
>
> * shard-dg2: NOTRUN -> SKIP (i915#4212)
> * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-d-hdmi-a-2-4-mc-ccs:
>
> * shard-dg2: NOTRUN -> SKIP (i915#8709) +11 other tests skip
> * igt@kms_atomic@plane-primary-overlay-mutable-zpos:
>
> * shard-dg1: NOTRUN -> SKIP (i915#9531)
> * igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#1769 / i915#3555)
> * igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
>
> * shard-glk: NOTRUN -> SKIP (i915#1769) +1 other test skip
> * shard-rkl: NOTRUN -> SKIP (i915#1769 / i915#3555)
> * igt@kms_big_fb@4-tiled-8bpp-rotate-180:
>
> * shard-dg1: NOTRUN -> SKIP (i915#4538 / i915#5286) +6 other tests
> skip
> * igt@kms_big_fb@4-tiled-addfb:
>
> * shard-rkl: NOTRUN -> SKIP (i915#5286) +2 other tests skip
> * igt@kms_big_fb@4-tiled-addfb-size-offset-overflow:
>
> * shard-dg1: NOTRUN -> SKIP (i915#5286)
> * igt@kms_big_fb@linear-64bpp-rotate-90:
>
> * shard-dg1: NOTRUN -> SKIP (i915#3638) +4 other tests skip
> * igt@kms_big_fb@x-tiled-64bpp-rotate-90:
>
> * shard-rkl: NOTRUN -> SKIP (i915#3638)
> * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
>
> * shard-dg2: NOTRUN -> SKIP (i915#4538 / i915#5190) +12 other tests
> skip
> * igt@kms_big_fb@yf-tiled-32bpp-rotate-180:
>
> * shard-mtlp: NOTRUN -> SKIP +12 other tests skip
> * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0:
>
> * shard-dg1: NOTRUN -> SKIP (i915#4538) +5 other tests skip
> * igt@kms_big_joiner@basic:
>
> * shard-rkl: NOTRUN -> SKIP (i915#10656)
> * igt@kms_big_joiner@invalid-modeset:
>
> * shard-dg1: NOTRUN -> SKIP (i915#10656) +2 other tests skip
> * igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc@pipe-c-hdmi-a-2:
>
> * shard-glk: NOTRUN -> SKIP +267 other tests skip
> * igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-4:
>
> * shard-dg1: NOTRUN -> SKIP (i915#6095) +83 other tests skip
> * igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2:
>
> * shard-rkl: NOTRUN -> SKIP (i915#6095) +13 other tests skip
> * igt@kms_ccs@bad-rotation-90-4-tiled-xe2-ccs:
>
> * shard-rkl: NOTRUN -> SKIP (i915#10278)
> * shard-dg1: NOTRUN -> SKIP (i915#10278) +1 other test skip
> * igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs@pipe-b-hdmi-a-1:
>
> * shard-dg2: NOTRUN -> SKIP (i915#10307 / i915#6095) +152 other
> tests skip
> * igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-mc-ccs@pipe-b-edp-1:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#6095) +27 other tests skip
> * igt@kms_ccs@crc-primary-basic-4-tiled-mtl-mc-ccs:
>
> * shard-snb: NOTRUN -> SKIP +51 other tests skip
> * igt@kms_ccs@crc-primary-rotation-180-4-tiled-xe2-ccs:
>
> * shard-dg2: NOTRUN -> SKIP (i915#10278)
> * igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs@pipe-d-hdmi-a-1:
>
> * shard-dg2: NOTRUN -> SKIP (i915#10307 / i915#10434 / i915#6095)
> +6 other tests skip
> * igt@kms_ccs@random-ccs-data-4-tiled-xe2-ccs:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#10278)
> * igt@kms_cdclk@mode-transition:
>
> * shard-rkl: NOTRUN -> SKIP (i915#3742)
> * igt@kms_cdclk@mode-transition-all-outputs:
>
> * shard-dg1: NOTRUN -> SKIP (i915#3742) +1 other test skip
> * igt@kms_cdclk@mode-transition@pipe-d-hdmi-a-1:
>
> * shard-dg2: NOTRUN -> SKIP (i915#7213) +4 other tests skip
> * igt@kms_cdclk@plane-scaling@pipe-d-hdmi-a-1:
>
> * shard-dg2: NOTRUN -> SKIP (i915#4087) +3 other tests skip
> * igt@kms_chamelium_edid@dp-edid-stress-resolution-non-4k:
>
> * shard-dg2: NOTRUN -> SKIP (i915#7828) +6 other tests skip
> * igt@kms_chamelium_edid@hdmi-edid-change-during-suspend:
>
> * shard-dg1: NOTRUN -> SKIP (i915#7828) +9 other tests skip
> * igt@kms_chamelium_hpd@dp-hpd-for-each-pipe:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#7828) +5 other tests skip
> * igt@kms_chamelium_hpd@hdmi-hpd-fast:
>
> * shard-rkl: NOTRUN -> SKIP (i915#7828) +7 other tests skip
> * igt@kms_content_protection@atomic-dpms@pipe-a-dp-4:
>
> * shard-dg2: NOTRUN -> TIMEOUT (i915#7173)
> * igt@kms_content_protection@content-type-change:
>
> * shard-dg2: NOTRUN -> SKIP (i915#9424)
> * igt@kms_content_protection@dp-mst-lic-type-0:
>
> * shard-dg2: NOTRUN -> SKIP (i915#3299)
> * igt@kms_content_protection@dp-mst-type-0:
>
> * shard-rkl: NOTRUN -> SKIP (i915#3116)
> * shard-dg1: NOTRUN -> SKIP (i915#3299) +1 other test skip
> * igt@kms_content_protection@dp-mst-type-1:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#3299)
> * igt@kms_content_protection@legacy:
>
> * shard-dg1: NOTRUN -> SKIP (i915#7116 / i915#9424)
> * igt@kms_content_protection@mei-interface:
>
> * shard-dg1: NOTRUN -> SKIP (i915#9424)
> * igt@kms_content_protection@uevent:
>
> * shard-dg2: NOTRUN -> SKIP (i915#7118 / i915#9424) +1 other test
> skip
> * igt@kms_cursor_crc@cursor-offscreen-512x512:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#3359)
> * igt@kms_cursor_crc@cursor-onscreen-512x512:
>
> * shard-dg2: NOTRUN -> SKIP (i915#3359) +1 other test skip
> * igt@kms_cursor_crc@cursor-random-512x512:
>
> * shard-rkl: NOTRUN -> SKIP (i915#3359)
> * shard-dg1: NOTRUN -> SKIP (i915#3359) +4 other tests skip
> * igt@kms_cursor_crc@cursor-rapid-movement-256x85:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#8814) +1 other test skip
> * igt@kms_cursor_crc@cursor-rapid-movement-32x10:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#3555 / i915#8814) +1 other test
> skip
> * igt@kms_cursor_crc@cursor-rapid-movement-max-size:
>
> * shard-dg2: NOTRUN -> SKIP (i915#3555) +3 other tests skip
> * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
>
> * shard-dg2: NOTRUN -> SKIP (i915#4103 / i915#4213) +1 other test
> skip
> * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
>
> * shard-rkl: NOTRUN -> SKIP (i915#4103)
> * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#9809) +2 other tests skip
> * igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
>
> * shard-dg1: NOTRUN -> SKIP (i915#4103 / i915#4213)
> * igt@kms_cursor_legacy@torture-bo@pipe-a:
>
> * shard-dg2: PASS -> DMESG-WARN (i915#10166)
> * igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-3:
>
> * shard-dg2: NOTRUN -> SKIP (i915#9227)
> * igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-4:
>
> * shard-dg1: NOTRUN -> SKIP (i915#9723)
> * igt@kms_dirtyfb@psr-dirtyfb-ioctl:
>
> * shard-rkl: NOTRUN -> SKIP (i915#9723)
> * igt@kms_display_modes@extended-mode-basic:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#3555 / i915#8827)
> * igt@kms_display_modes@mst-extended-mode-negative:
>
> * shard-dg1: NOTRUN -> SKIP (i915#8588)
> * igt@kms_dp_aux_dev:
>
> * shard-dg2: NOTRUN -> SKIP (i915#1257)
> * shard-dg1: NOTRUN -> SKIP (i915#1257)
> * igt@kms_dsc@dsc-fractional-bpp:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#3840 / i915#9688)
> * igt@kms_dsc@dsc-fractional-bpp-with-bpc:
>
> * shard-dg1: NOTRUN -> SKIP (i915#3840)
> * igt@kms_dsc@dsc-with-formats:
>
> * shard-rkl: NOTRUN -> SKIP (i915#3555 / i915#3840)
> * igt@kms_dsc@dsc-with-output-formats:
>
> * shard-dg2: NOTRUN -> SKIP (i915#3555 / i915#3840)
> * shard-dg1: NOTRUN -> SKIP (i915#3555 / i915#3840) +1 other test
> skip
> * igt@kms_dsc@dsc-with-output-formats-with-bpc:
>
> * shard-dg2: NOTRUN -> SKIP (i915#3840 / i915#9053)
> * igt@kms_fbcon_fbt@psr:
>
> * shard-dg2: NOTRUN -> SKIP (i915#3469) +1 other test skip
> * igt@kms_fbcon_fbt@psr-suspend:
>
> * shard-dg1: NOTRUN -> SKIP (i915#3469)
> * igt@kms_feature_discovery@chamelium:
>
> * shard-dg1: NOTRUN -> SKIP (i915#4854)
> * igt@kms_feature_discovery@display-4x:
>
> * shard-rkl: NOTRUN -> SKIP (i915#1839)
> * shard-dg1: NOTRUN -> SKIP (i915#1839) +1 other test skip
> * igt@kms_feature_discovery@dp-mst:
>
> * shard-rkl: NOTRUN -> SKIP (i915#9337)
> * shard-mtlp: NOTRUN -> SKIP (i915#9337)
> * igt@kms_flip@2x-flip-vs-wf_vblank-interruptible:
>
> * shard-dg2: NOTRUN -> SKIP +12 other tests skip
> * igt@kms_flip@2x-modeset-vs-vblank-race-interruptible:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#3637) +6 other tests skip
> * igt@kms_flip@2x-plain-flip-ts-check-interruptible:
>
> * shard-dg1: NOTRUN -> SKIP (i915#9934) +4 other tests skip
> * igt@kms_flip@flip-vs-fences:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#8381)
> * igt@kms_flip@flip-vs-fences-interruptible:
>
> * shard-dg2: NOTRUN -> SKIP (i915#8381)
> * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#2672)
> * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-default-mode:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#8810)
> * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-upscaling@pipe-a-valid-mode:
>
> * shard-rkl: NOTRUN -> SKIP (i915#2672) +1 other test skip
> * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode:
>
> * shard-dg1: NOTRUN -> SKIP (i915#2587 / i915#2672) +6 other tests
> skip
> * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-default-mode:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#2672 / i915#3555)
> * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling@pipe-a-valid-mode:
>
> * shard-dg2: NOTRUN -> SKIP (i915#2672) +2 other tests skip
> * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt:
>
> * shard-rkl: NOTRUN -> SKIP (i915#1825) +24 other tests skip
> * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-wc:
>
> * shard-snb: PASS -> SKIP +2 other tests skip
> * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-gtt:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#8708) +3 other tests skip
> * igt@kms_frontbuffer_tracking@fbc-tiling-4:
>
> * shard-dg1: NOTRUN -> SKIP (i915#5439)
> * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-mmap-wc:
>
> * shard-rkl: NOTRUN -> SKIP (i915#3023) +14 other tests skip
> * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render:
>
> * shard-dg2: NOTRUN -> SKIP (i915#3458) +12 other tests skip
> * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-plflip-blt:
>
> * shard-dg2: NOTRUN -> SKIP (i915#5354) +35 other tests skip
> * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-pwrite:
>
> * shard-dg1: NOTRUN -> SKIP +51 other tests skip
> * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt:
>
> * shard-dg1: NOTRUN -> SKIP (i915#3458) +23 other tests skip
> * igt@kms_frontbuffer_tracking@plane-fbc-rte:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#10070)
> * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc:
>
> * shard-dg1: NOTRUN -> SKIP (i915#8708) +30 other tests skip
> * igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-pwrite:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#1825) +20 other tests skip
> * igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-gtt:
>
> * shard-dg2: NOTRUN -> SKIP (i915#8708) +16 other tests skip
> * igt@kms_hdr@invalid-metadata-sizes:
>
> * shard-dg1: NOTRUN -> SKIP (i915#3555 / i915#8228) +1 other test
> skip
> * igt@kms_hdr@static-toggle-dpms:
>
> * shard-rkl: NOTRUN -> SKIP (i915#3555 / i915#8228)
> * igt@kms_hdr@static-toggle-suspend:
>
> * shard-dg2: NOTRUN -> SKIP (i915#3555 / i915#8228) +2 other tests
> skip
> * igt@kms_invalid_mode@clock-too-high@pipe-a-edp-1:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#9457) +3 other tests skip
> * igt@kms_panel_fitting@atomic-fastset:
>
> * shard-dg2: NOTRUN -> SKIP (i915#6301)
> * igt@kms_plane_lowres@tiling-y:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#3555 / i915#8821)
> * igt@kms_plane_scaling@intel-max-src-size:
>
> * shard-dg2: NOTRUN -> SKIP (i915#6953 / i915#9423)
> * igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-3:
>
> * shard-dg1: NOTRUN -> FAIL (i915#8292)
> * igt@kms_plane_scaling@plane-downscale-factor-0-25-with-modifiers@pipe-b-hdmi-a-4:
>
> * shard-dg1: NOTRUN -> SKIP (i915#9423) +3 other tests skip
> * igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-c-hdmi-a-2:
>
> * shard-dg2: NOTRUN -> SKIP (i915#9423) +3 other tests skip
> * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a-hdmi-a-2:
>
> * shard-rkl: NOTRUN -> SKIP (i915#9423) +1 other test skip
> * igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-a-dp-4:
>
> * shard-dg2: NOTRUN -> SKIP (i915#5235 / i915#9423) +7 other tests
> skip
> * igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-c-hdmi-a-3:
>
> * shard-dg1: NOTRUN -> SKIP (i915#5235) +7 other tests skip
> * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-b-hdmi-a-2:
>
> * shard-rkl: NOTRUN -> SKIP (i915#5235) +5 other tests skip
> * igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-a-edp-1:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#5235) +6 other tests skip
> * igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-d-edp-1:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#3555 / i915#5235)
> * igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-d-hdmi-a-2:
>
> * shard-dg2: NOTRUN -> SKIP (i915#5235 / i915#9423 / i915#9728) +3
> other tests skip
> * igt@kms_pm_backlight@basic-brightness:
>
> * shard-dg1: NOTRUN -> SKIP (i915#5354)
> * igt@kms_pm_dc@dc3co-vpb-simulation:
>
> * shard-dg2: NOTRUN -> SKIP (i915#9685)
> * igt@kms_pm_lpsp@kms-lpsp:
>
> * shard-rkl: NOTRUN -> SKIP (i915#9340)
> * igt@kms_pm_lpsp@screens-disabled:
>
> * shard-dg1: NOTRUN -> SKIP (i915#8430)
> * shard-mtlp: NOTRUN -> SKIP (i915#8430)
> * igt@kms_pm_rpm@dpms-mode-unset-lpsp:
>
> * shard-dg1: NOTRUN -> SKIP (i915#9519)
> * igt@kms_pm_rpm@modeset-lpsp:
>
> * shard-dg2: NOTRUN -> SKIP (i915#9519)
> * igt@kms_pm_rpm@modeset-non-lpsp:
>
> * shard-rkl: NOTRUN -> SKIP (i915#9519)
> * igt@kms_pm_rpm@modeset-non-lpsp-stress:
>
> * shard-dg2: PASS -> SKIP (i915#9519) +1 other test skip
> * igt@kms_prime@basic-crc-hybrid:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#6524)
> * igt@kms_psr2_sf@fbc-cursor-plane-update-sf@psr2-pipe-b-edp-1:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#9808)
> * igt@kms_psr2_su@page_flip-xrgb8888:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#4348)
> * shard-dg1: NOTRUN -> SKIP (i915#9683)
> * igt@kms_psr@fbc-pr-primary-mmap-gtt:
>
> * shard-dg2: NOTRUN -> SKIP (i915#1072 / i915#9732) +19 other tests
> skip
> * igt@kms_psr@fbc-psr2-sprite-render:
>
> * shard-rkl: NOTRUN -> SKIP (i915#1072 / i915#9732) +14 other tests
> skip
> * igt@kms_psr@pr-cursor-render:
>
> * shard-dg2: NOTRUN -> SKIP (i915#1072 / i915#9673 / i915#9732) +2
> other tests skip
> * igt@kms_psr@pr-sprite-blt:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#9688) +8 other tests skip
> * igt@kms_psr@psr2-sprite-blt:
>
> * shard-dg1: NOTRUN -> SKIP (i915#1072 / i915#9732) +30 other tests
> skip
> * igt@kms_psr@psr2-sprite-mmap-gtt@edp-1:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#4077 / i915#9688)
> * igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
>
> * shard-dg1: NOTRUN -> SKIP (i915#9685) +1 other test skip
> * igt@kms_rotation_crc@bad-pixel-format:
>
> * shard-dg2: NOTRUN -> SKIP (i915#4235)
> * igt@kms_rotation_crc@exhaust-fences:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#4235)
> * igt@kms_rotation_crc@primary-4-tiled-reflect-x-180:
>
> * shard-rkl: NOTRUN -> SKIP (i915#5289)
> * igt@kms_rotation_crc@primary-y-tiled-reflect-x-90:
>
> * shard-dg2: NOTRUN -> SKIP (i915#4235 / i915#5190)
> * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
>
> * shard-dg2: NOTRUN -> SKIP (i915#5190)
> * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
>
> * shard-dg1: NOTRUN -> SKIP (i915#5289) +2 other tests skip
> * igt@kms_scaling_modes@scaling-mode-full:
>
> * shard-rkl: NOTRUN -> SKIP (i915#3555)
> * igt@kms_setmode@invalid-clone-exclusive-crtc:
>
> * shard-dg1: NOTRUN -> SKIP (i915#3555) +7 other tests skip
> * igt@kms_tiled_display@basic-test-pattern:
>
> * shard-dg2: NOTRUN -> SKIP (i915#8623)
> * igt@kms_universal_plane@cursor-fb-leak@pipe-a-edp-1:
>
> * shard-mtlp: PASS -> FAIL (i915#9196)
> * igt@kms_vrr@flip-basic:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#3555 / i915#8808)
> * igt@kms_vrr@flip-basic-fastset:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#8808 / i915#9906)
> * shard-dg2: NOTRUN -> SKIP (i915#9906)
> * igt@kms_vrr@max-min:
>
> * shard-dg1: NOTRUN -> SKIP (i915#9906) +1 other test skip
> * igt@kms_writeback@writeback-check-output:
>
> * shard-glk: NOTRUN -> SKIP (i915#2437)
> * igt@kms_writeback@writeback-invalid-parameters:
>
> * shard-dg2: NOTRUN -> SKIP (i915#2437)
> * igt@perf@mi-rpc:
>
> * shard-dg2: NOTRUN -> SKIP (i915#2434)
> * igt@perf@per-context-mode-unprivileged:
>
> * shard-rkl: NOTRUN -> SKIP (i915#2435)
> * shard-dg1: NOTRUN -> SKIP (i915#2433)
> * igt@perf_pmu@frequency@gt0:
>
> * shard-dg1: NOTRUN -> FAIL (i915#6806)
> * igt@perf_pmu@rc6-all-gts:
>
> * shard-dg1: NOTRUN -> SKIP (i915#8516)
> * shard-dg2: NOTRUN -> SKIP (i915#8516)
> * igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem:
>
> * shard-dg2: NOTRUN -> CRASH (i915#9351)
> * igt@prime_vgem@basic-gtt:
>
> * shard-dg1: NOTRUN -> SKIP (i915#3708 / i915#4077)
> * igt@prime_vgem@coherency-gtt:
>
> * shard-rkl: NOTRUN -> SKIP (i915#3708)
> * igt@prime_vgem@fence-flip-hang:
>
> * shard-dg1: NOTRUN -> SKIP (i915#3708) +1 other test skip
> * igt@prime_vgem@fence-read-hang:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#3708)
> * igt@prime_vgem@fence-write-hang:
>
> * shard-dg2: NOTRUN -> SKIP (i915#3708)
> * igt@syncobj_timeline@invalid-wait-zero-handles:
>
> * shard-glk: NOTRUN -> FAIL (i915#9781)
> * igt@syncobj_wait@invalid-wait-zero-handles:
>
> * shard-rkl: NOTRUN -> FAIL (i915#9779)
> * igt@v3d/v3d_job_submission@multiple-singlesync-to-multisync:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#2575) +7 other tests skip
> * igt@v3d/v3d_perfmon@get-values-invalid-pointer:
>
> * shard-dg1: NOTRUN -> SKIP (i915#2575) +19 other tests skip
> * igt@v3d/v3d_submit_csd@valid-multisync-submission:
>
> * shard-rkl: NOTRUN -> SKIP +28 other tests skip
> * igt@v3d/v3d_wait_bo@used-bo-1ns:
>
> * shard-dg2: NOTRUN -> SKIP (i915#2575) +13 other tests skip
> * igt@vc4/vc4_mmap@mmap-bad-handle:
>
> * shard-dg1: NOTRUN -> SKIP (i915#7711) +13 other tests skip
> * igt@vc4/vc4_perfmon@create-perfmon-exceed:
>
> * shard-mtlp: NOTRUN -> SKIP (i915#7711) +6 other tests skip
> * igt@vc4/vc4_perfmon@get-values-invalid-perfmon:
>
> * shard-rkl: NOTRUN -> SKIP (i915#7711) +4 other tests skip
> * igt@vc4/vc4_purgeable_bo@mark-unpurgeable-check-retained:
>
> * shard-dg2: NOTRUN -> SKIP (i915#7711) +3 other tests skip
>
> Possible fixes
>
> * igt@gem_create@create-ext-cpu-access-big:
>
> * shard-dg2: ABORT (i915#9846) -> PASS
> * igt@gem_exec_endless@dispatch@bcs0:
>
> * shard-dg2: TIMEOUT (i915#3778 / i915#7016) -> PASS
> * igt@gem_lmem_swapping@heavy-multi@lmem0:
>
> * shard-dg2: FAIL (i915#10378) -> PASS
> * igt@i915_pm_rc6_residency@rc6-idle@gt0-vcs0:
>
> * shard-dg1: FAIL (i915#3591) -> PASS
> * igt@i915_selftest@live@gem_contexts:
>
> * shard-dg1: INCOMPLETE -> PASS
> * igt@kms_cursor_legacy@torture-move@pipe-a:
>
> * shard-dg2: DMESG-WARN (i915#10166) -> PASS
> * igt@kms_flip@2x-wf_vblank-ts-check@ab-vga1-hdmi-a1:
>
> * shard-snb: FAIL (i915#2122) -> PASS
> * igt@kms_flip@wf_vblank-ts-check@b-hdmi-a3:
>
> * shard-dg2: INCOMPLETE -> PASS
> * igt@kms_pm_rpm@modeset-lpsp-stress-no-wait:
>
> * shard-dg2: SKIP (i915#9519) -> PASS
>
> Warnings
>
> * igt@gem_lmem_swapping@heavy-verify-random-ccs@lmem0:
>
> * shard-dg2: FAIL (i915#10446) -> FAIL (i915#10378)
> * igt@gem_userptr_blits@relocations:
>
> * shard-mtlp: SKIP (i915#3281) -> SKIP (i915#3281 / i915#3297)
> * shard-dg2: SKIP (i915#3281) -> SKIP (i915#3281 / i915#3297)
> * igt@i915_module_load@reload-with-fault-injection:
>
> * shard-dg1: INCOMPLETE (i915#1982 / i915#9820 / i915#9849) ->
> INCOMPLETE (i915#9820 / i915#9849)
> * shard-mtlp: ABORT (i915#10131 / i915#9820) -> ABORT (i915#10131 /
> i915#9697)
> * igt@kms_content_protection@lic-type-1:
>
> * shard-snb: INCOMPLETE (i915#8816) -> SKIP
> * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-mmap-cpu:
>
> * shard-dg2: SKIP (i915#10433 / i915#3458) -> SKIP (i915#3458) +5
> other tests skip
> * igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-pwrite:
>
> * shard-dg2: SKIP (i915#3458) -> SKIP (i915#10433 / i915#3458) +2
> other tests skip
> * igt@kms_psr@fbc-pr-suspend:
>
> * shard-dg2: SKIP (i915#1072 / i915#9673 / i915#9732) -> SKIP
> (i915#1072 / i915#9732) +13 other tests skip
> * igt@kms_psr@psr-dpms:
>
> * shard-dg2: SKIP (i915#1072 / i915#9732) -> SKIP (i915#1072 /
> i915#9673 / i915#9732) +2 other tests skip
>
> Build changes
>
> * CI: CI-20190529 -> None
> * IGT: IGT_7871 -> IGTPW_11196
>
> CI-20190529: 20190529
> CI_DRM_14826: 0f0c00c367c8a8621a07443664d5f9a266889e84 @
> git://anongit.freedesktop.org/gfx-ci/linux
> IGTPW_11196: 7485dd32b91812871816c7e7332ec0ff2b931097 @
> https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
> IGT_7871: 1d7b961235e345db20933c057f265898e2e96fd2 @
> https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH i-g-t 01/12] lib/intel_bufops: Fix offset returned for Tile4
2024-05-27 7:33 ` [PATCH i-g-t 01/12] lib/intel_bufops: Fix offset returned for Tile4 Zbigniew Kempczyński
@ 2024-06-03 7:26 ` Juha-Pekka Heikkila
0 siblings, 0 replies; 32+ messages in thread
From: Juha-Pekka Heikkila @ 2024-06-03 7:26 UTC (permalink / raw)
To: Zbigniew Kempczyński, igt-dev
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
On 27.5.2024 10.33, Zbigniew Kempczyński wrote:
> Functions which calculates offset in bufops for specific tiling should
> return it in bytes, not in cpp. Fix this issue for Tile4.
>
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> ---
> lib/intel_bufops.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
> index 52a5f322ea..313c2665ae 100644
> --- a/lib/intel_bufops.c
> +++ b/lib/intel_bufops.c
> @@ -377,7 +377,6 @@ static void *tile4_ptr(void *ptr,
> ((tile_y & 3) << __builtin_ctz(owords)) +
> (tile_x & (owords - 1));
> igt_assert((pos & (cpp - 1)) == 0);
> - pos = pos >> __builtin_ctz(cpp);
>
> return ptr + pos;
> }
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH i-g-t 02/12] lib/intel_bufops: Fix mapping/unmapping for i915 and xe
2024-05-27 7:33 ` [PATCH i-g-t 02/12] lib/intel_bufops: Fix mapping/unmapping for i915 and xe Zbigniew Kempczyński
@ 2024-06-03 7:31 ` Juha-Pekka Heikkila
0 siblings, 0 replies; 32+ messages in thread
From: Juha-Pekka Heikkila @ 2024-06-03 7:31 UTC (permalink / raw)
To: Zbigniew Kempczyński, igt-dev
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
On 27.5.2024 10.33, Zbigniew Kempczyński wrote:
> It looks previously there was no user of intel-buf mapping code so
> missing xe path wasn't notice. Lets add xe path along with correct
> buffer size mapping.
>
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> ---
> lib/intel_bufops.c | 39 ++++++++++++++++++++++++---------------
> 1 file changed, 24 insertions(+), 15 deletions(-)
>
> diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
> index 313c2665ae..b4ccf4c093 100644
> --- a/lib/intel_bufops.c
> +++ b/lib/intel_bufops.c
> @@ -1232,37 +1232,46 @@ void intel_buf_destroy(struct intel_buf *buf)
>
> void *intel_buf_cpu_map(struct intel_buf *buf, bool write)
> {
> - int i915 = buf_ops_get_fd(buf->bops);
> + int fd = buf_ops_get_fd(buf->bops);
>
> igt_assert(buf);
> igt_assert(buf->ptr == NULL); /* already mapped */
>
> buf->cpu_write = write;
> - buf->ptr = gem_mmap__cpu_coherent(i915, buf->handle, 0,
> - buf->surface[0].size,
> - write ? PROT_WRITE : PROT_READ);
>
> - gem_set_domain(i915, buf->handle,
> - I915_GEM_DOMAIN_CPU,
> - write ? I915_GEM_DOMAIN_CPU : 0);
> + if (is_xe_device(fd)) {
> + buf->ptr = xe_bo_map(fd, buf->handle, buf->bo_size);
> + } else {
> + buf->ptr = gem_mmap__cpu_coherent(fd, buf->handle, 0,
> + buf->bo_size,
> + write ? PROT_WRITE : PROT_READ);
> +
> + gem_set_domain(fd, buf->handle,
> + I915_GEM_DOMAIN_CPU,
> + write ? I915_GEM_DOMAIN_CPU : 0);
> + }
>
> return buf->ptr;
> }
>
> void *intel_buf_device_map(struct intel_buf *buf, bool write)
> {
> - int i915 = buf_ops_get_fd(buf->bops);
> + int fd = buf_ops_get_fd(buf->bops);
>
> igt_assert(buf);
> igt_assert(buf->ptr == NULL); /* already mapped */
>
> - buf->ptr = gem_mmap__device_coherent(i915, buf->handle, 0,
> - buf->surface[0].size,
> - write ? PROT_WRITE : PROT_READ);
> + if (is_xe_device(fd)) {
> + buf->ptr = xe_bo_map(fd, buf->handle, buf->bo_size);
> + } else {
> + buf->ptr = gem_mmap__device_coherent(fd, buf->handle, 0,
> + buf->bo_size,
> + write ? PROT_WRITE : PROT_READ);
>
> - gem_set_domain(i915, buf->handle,
> - I915_GEM_DOMAIN_WC,
> - write ? I915_GEM_DOMAIN_WC : 0);
> + gem_set_domain(fd, buf->handle,
> + I915_GEM_DOMAIN_WC,
> + write ? I915_GEM_DOMAIN_WC : 0);
> + }
>
> return buf->ptr;
> }
> @@ -1272,7 +1281,7 @@ void intel_buf_unmap(struct intel_buf *buf)
> igt_assert(buf);
> igt_assert(buf->ptr);
>
> - munmap(buf->ptr, buf->surface[0].size);
> + munmap(buf->ptr, buf->bo_size);
> buf->ptr = NULL;
> }
>
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH i-g-t 04/12] lib/intel_bufops: Add Tile4 in linear_to and to_linear helpers
2024-05-27 7:33 ` [PATCH i-g-t 04/12] lib/intel_bufops: Add Tile4 in linear_to and to_linear helpers Zbigniew Kempczyński
@ 2024-06-17 11:16 ` Juha-Pekka Heikkila
0 siblings, 0 replies; 32+ messages in thread
From: Juha-Pekka Heikkila @ 2024-06-17 11:16 UTC (permalink / raw)
To: Zbigniew Kempczyński, igt-dev
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
On 27.5.2024 10.33, Zbigniew Kempczyński wrote:
> intel_buf_to_linear() and linear_to_intel_buf() allows easy tile/detile,
> only thing they need is to select appropriate implementation. There's
> missing switch for Tile4 so let's add it.
>
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> ---
> lib/intel_bufops.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
> index 30ba2547dc..56e37d2da7 100644
> --- a/lib/intel_bufops.c
> +++ b/lib/intel_bufops.c
> @@ -804,6 +804,10 @@ void intel_buf_to_linear(struct buf_ops *bops, struct intel_buf *buf,
> igt_assert(bops->ys_to_linear);
> bops->ys_to_linear(bops, buf, linear);
> break;
> + case I915_TILING_4:
> + igt_assert(bops->tile4_to_linear);
> + bops->tile4_to_linear(bops, buf, linear);
> + break;
> }
>
> if (buf->compression)
> @@ -836,6 +840,10 @@ void linear_to_intel_buf(struct buf_ops *bops, struct intel_buf *buf,
> igt_assert(bops->linear_to_ys);
> bops->linear_to_ys(bops, buf, linear);
> break;
> + case I915_TILING_4:
> + igt_assert(bops->linear_to_tile4);
> + bops->linear_to_tile4(bops, buf, linear);
> + break;
> }
>
> if (buf->compression)
> @@ -1942,6 +1950,10 @@ bool buf_ops_set_software_tiling(struct buf_ops *bops,
> }
> break;
>
> + case I915_TILING_4:
> + igt_debug("-> use SW on tiling 4\n");
> + break;
> +
> default:
> igt_warn("Invalid tiling: %d\n", tiling);
> was_changed = false;
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH i-g-t 03/12] lib/intel_bufops: Add linear-to-none copy path
2024-05-27 7:33 ` [PATCH i-g-t 03/12] lib/intel_bufops: Add linear-to-none copy path Zbigniew Kempczyński
@ 2024-06-17 11:16 ` Juha-Pekka Heikkila
0 siblings, 0 replies; 32+ messages in thread
From: Juha-Pekka Heikkila @ 2024-06-17 11:16 UTC (permalink / raw)
To: Zbigniew Kempczyński, igt-dev
On 27.5.2024 10.33, Zbigniew Kempczyński wrote:
> At first glance copying linear to linear (none) is not necessary
> as ordinary memcpy() may be used. But adding this makes iterating
> over all possible tilings much easier.
>
> In the upcoming patch I'm going to introduce tiling detection tool
> which iterates over all tilings where linear copy is also exercised.
>
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> ---
> lib/intel_bufops.c | 35 ++++++++++++++++++++++++++++++++++-
> 1 file changed, 34 insertions(+), 1 deletion(-)
>
> diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
> index b4ccf4c093..30ba2547dc 100644
> --- a/lib/intel_bufops.c
> +++ b/lib/intel_bufops.c
> @@ -292,6 +292,17 @@ static unsigned long swizzle_addr(void *ptr, uint32_t swizzle)
> }
> }
>
> +static void *linear_ptr(void *ptr,
> + unsigned int x, unsigned int y,
> + unsigned int stride, unsigned int cpp)
> +{
> + int pos;
> +
> + pos = (stride/cpp * y + x) * cpp;
I was for a while thinking about this .. but I'd expect gcc will be able
to take out that division and on source level we can keep this as is.
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> +
> + return ptr + pos;
> +}
> +
> static void *x_ptr(void *ptr,
> unsigned int x, unsigned int y,
> unsigned int stride, unsigned int cpp)
> @@ -418,6 +429,9 @@ static tile_fn __get_tile_fn_ptr(int tiling)
> tile_fn fn = NULL;
>
> switch (tiling) {
> + case I915_TILING_NONE:
> + fn = linear_ptr;
> + break;
> case I915_TILING_X:
> fn = x_ptr;
> break;
> @@ -598,6 +612,13 @@ static void __copy_linear_to(int fd, struct intel_buf *buf,
> munmap(map, buf->surface[0].size);
> }
>
> +static void copy_linear_to_none(struct buf_ops *bops, struct intel_buf *buf,
> + uint32_t *linear)
> +{
> + DEBUGFN();
> + __copy_linear_to(bops->fd, buf, linear, I915_TILING_NONE, 0);
> +}
> +
> static void copy_linear_to_x(struct buf_ops *bops, struct intel_buf *buf,
> uint32_t *linear)
> {
> @@ -655,6 +676,13 @@ static void __copy_to_linear(int fd, struct intel_buf *buf,
> munmap(map, buf->surface[0].size);
> }
>
> +static void copy_none_to_linear(struct buf_ops *bops, struct intel_buf *buf,
> + uint32_t *linear)
> +{
> + DEBUGFN();
> + __copy_to_linear(bops->fd, buf, linear, I915_TILING_NONE, 0);
> +}
> +
> static void copy_x_to_linear(struct buf_ops *bops, struct intel_buf *buf,
> uint32_t *linear)
> {
> @@ -1653,13 +1681,14 @@ static struct buf_ops *__buf_ops_create(int fd, bool check_idempotency)
> bops->driver == INTEL_DRIVER_I915 ? "i915" : "xe");
>
> if (bops->driver == INTEL_DRIVER_XE) {
> + bops->linear_to = copy_linear_to_none;
> + bops->to_linear = copy_none_to_linear;
> bops->linear_to_x = copy_linear_to_x;
> bops->x_to_linear = copy_x_to_linear;
> bops->linear_to_y = copy_linear_to_y;
> bops->y_to_linear = copy_y_to_linear;
> bops->linear_to_tile4 = copy_linear_to_tile4;
> bops->tile4_to_linear = copy_tile4_to_linear;
> -
> bops->linear_to_yf = NULL;
> bops->yf_to_linear = NULL;
> bops->linear_to_ys = NULL;
> @@ -1869,6 +1898,10 @@ bool buf_ops_set_software_tiling(struct buf_ops *bops,
> }
>
> switch (tiling) {
> + case I915_TILING_NONE:
> + igt_debug("-> use SW on tiling NONE\n");
> + break;
> +
> case I915_TILING_X:
> if (use_software_tiling) {
> bool supported = buf_ops_has_tiling_support(bops, tiling);
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH i-g-t 05/12] lib/intel_bufops: Add Yf tiling
2024-05-27 7:33 ` [PATCH i-g-t 05/12] lib/intel_bufops: Add Yf tiling Zbigniew Kempczyński
@ 2024-06-17 11:16 ` Juha-Pekka Heikkila
0 siblings, 0 replies; 32+ messages in thread
From: Juha-Pekka Heikkila @ 2024-06-17 11:16 UTC (permalink / raw)
To: Zbigniew Kempczyński, igt-dev
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
On 27.5.2024 10.33, Zbigniew Kempczyński wrote:
> Start supporting Yf tiling in xe as detection reveals it is Yf, not
> Tile4.
>
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> ---
> lib/intel_bufops.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
> index 56e37d2da7..36b9aa2a8c 100644
> --- a/lib/intel_bufops.c
> +++ b/lib/intel_bufops.c
> @@ -1697,8 +1697,6 @@ static struct buf_ops *__buf_ops_create(int fd, bool check_idempotencopy_linear_to_ycy)
> bops->y_to_linear = copy_y_to_linear;
> bops->linear_to_tile4 = copy_linear_to_tile4;
> bops->tile4_to_linear = copy_tile4_to_linear;
> - bops->linear_to_yf = NULL;
> - bops->yf_to_linear = NULL;
> bops->linear_to_ys = NULL;
> bops->ys_to_linear = NULL;
>
> @@ -1954,6 +1952,10 @@ bool buf_ops_set_software_tiling(struct buf_ops *bops,
> igt_debug("-> use SW on tiling 4\n");
> break;
>
> + case I915_TILING_Yf:
> + igt_debug("-> use SW on tiling Yf\n");
> + break;
> +
> default:
> igt_warn("Invalid tiling: %d\n", tiling);
> was_changed = false;
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH i-g-t 06/12] lib/intel_blt: Add Yf tiling in block-copy
2024-05-27 7:33 ` [PATCH i-g-t 06/12] lib/intel_blt: Add Yf tiling in block-copy Zbigniew Kempczyński
@ 2024-06-17 11:16 ` Juha-Pekka Heikkila
0 siblings, 0 replies; 32+ messages in thread
From: Juha-Pekka Heikkila @ 2024-06-17 11:16 UTC (permalink / raw)
To: Zbigniew Kempczyński, igt-dev
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
On 27.5.2024 10.33, Zbigniew Kempczyński wrote:
> For TGL and DG1 I've noticed we have Yf, not Tile4 specified in the
> documentation.
>
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> ---
> lib/intel_blt.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/lib/intel_blt.c b/lib/intel_blt.c
> index a8433387d2..d1200ca862 100644
> --- a/lib/intel_blt.c
> +++ b/lib/intel_blt.c
> @@ -555,6 +555,7 @@ static int __block_tiling(enum blt_tiling_type tiling)
> case T_XMAJOR: return 1;
> case T_YMAJOR: return 1;
> case T_TILE4: return 2;
> + case T_YFMAJOR: return 2;
> case T_TILE64: return 3;
> default:
> break;
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH i-g-t 07/12] lib/intel_bufops: Add Ys tiling in linear_to and to_linear path
2024-05-27 7:33 ` [PATCH i-g-t 07/12] lib/intel_bufops: Add Ys tiling in linear_to and to_linear path Zbigniew Kempczyński
@ 2024-06-17 11:16 ` Juha-Pekka Heikkila
0 siblings, 0 replies; 32+ messages in thread
From: Juha-Pekka Heikkila @ 2024-06-17 11:16 UTC (permalink / raw)
To: Zbigniew Kempczyński, igt-dev
I don't think we have anywhere in kernel Ys enabled. I suppose this is
just for your tool use, hence
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
On 27.5.2024 10.33, Zbigniew Kempczyński wrote:
> To iterate over all tilings we need to have each case addressed
> in the code. Add missing Ys case.
>
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> ---
> lib/intel_blt.c | 3 +++
> lib/intel_bufops.c | 6 ++++--
> lib/intel_cmds_info.h | 1 +
> 3 files changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/lib/intel_blt.c b/lib/intel_blt.c
> index d1200ca862..20c42eec14 100644
> --- a/lib/intel_blt.c
> +++ b/lib/intel_blt.c
> @@ -540,6 +540,7 @@ const char *blt_tiling_name(enum blt_tiling_type tiling)
> case T_TILE4: return "tile4";
> case T_TILE64: return "tile64";
> case T_YFMAJOR: return "yfmajor";
> + case T_YSMAJOR: return "ysmajor";
> default:
> break;
> }
> @@ -582,6 +583,7 @@ int blt_tile_to_i915_tile(enum blt_tiling_type tiling)
> case T_TILE4: return I915_TILING_4;
> case T_TILE64: return I915_TILING_64;
> case T_YFMAJOR: return I915_TILING_Yf;
> + case T_YSMAJOR: return I915_TILING_Ys;
> default:
> break;
> }
> @@ -606,6 +608,7 @@ enum blt_tiling_type i915_tile_to_blt_tile(uint32_t tiling)
> case I915_TILING_4: return T_TILE4;
> case I915_TILING_64: return T_TILE64;
> case I915_TILING_Yf: return T_YFMAJOR;
> + case I915_TILING_Ys: return T_YSMAJOR;
> default:
> igt_assert_f(0, "Unknown tiling!\n");
> }
> diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
> index 36b9aa2a8c..38b720624e 100644
> --- a/lib/intel_bufops.c
> +++ b/lib/intel_bufops.c
> @@ -1697,8 +1697,6 @@ static struct buf_ops *__buf_ops_create(int fd, bool check_idempotency)
> bops->y_to_linear = copy_y_to_linear;
> bops->linear_to_tile4 = copy_linear_to_tile4;
> bops->tile4_to_linear = copy_tile4_to_linear;
> - bops->linear_to_ys = NULL;
> - bops->ys_to_linear = NULL;
>
> return bops;
> }
> @@ -1956,6 +1954,10 @@ bool buf_ops_set_software_tiling(struct buf_ops *bops,
> igt_debug("-> use SW on tiling Yf\n");
> break;
>
> + case I915_TILING_Ys:
> + igt_debug("-> use SW on tiling Ys\n");
> + break;
> +
> default:
> igt_warn("Invalid tiling: %d\n", tiling);
> was_changed = false;
> diff --git a/lib/intel_cmds_info.h b/lib/intel_cmds_info.h
> index 6f7d655083..7960e0412e 100644
> --- a/lib/intel_cmds_info.h
> +++ b/lib/intel_cmds_info.h
> @@ -14,6 +14,7 @@ enum blt_tiling_type {
> T_YMAJOR,
> T_TILE4,
> T_YFMAJOR,
> + T_YSMAJOR,
> T_TILE64,
> __BLT_MAX_TILING
> };
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH i-g-t 08/12] lib/intel_bufops: Drop unnecessary Tile4 function assignment
2024-05-27 7:33 ` [PATCH i-g-t 08/12] lib/intel_bufops: Drop unnecessary Tile4 function assignment Zbigniew Kempczyński
@ 2024-06-17 11:16 ` Juha-Pekka Heikkila
0 siblings, 0 replies; 32+ messages in thread
From: Juha-Pekka Heikkila @ 2024-06-17 11:16 UTC (permalink / raw)
To: Zbigniew Kempczyński, igt-dev
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
On 27.5.2024 10.33, Zbigniew Kempczyński wrote:
> Initialization is executed in bufops creation using appropriate
> template in which all functions are already assigned so there's
> no sense to assign them one more time for xe.
>
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> ---
> lib/intel_bufops.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
> index 38b720624e..70f70bfa9e 100644
> --- a/lib/intel_bufops.c
> +++ b/lib/intel_bufops.c
> @@ -1695,8 +1695,6 @@ static struct buf_ops *__buf_ops_create(int fd, bool check_idempotency)
> bops->x_to_linear = copy_x_to_linear;
> bops->linear_to_y = copy_linear_to_y;
> bops->y_to_linear = copy_y_to_linear;
> - bops->linear_to_tile4 = copy_linear_to_tile4;
> - bops->tile4_to_linear = copy_tile4_to_linear;
>
> return bops;
> }
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH i-g-t 09/12] lib/intel_bufops: Preparation for adding software tiling for Tile64
2024-05-27 7:33 ` [PATCH i-g-t 09/12] lib/intel_bufops: Preparation for adding software tiling for Tile64 Zbigniew Kempczyński
@ 2024-06-17 11:17 ` Juha-Pekka Heikkila
0 siblings, 0 replies; 32+ messages in thread
From: Juha-Pekka Heikkila @ 2024-06-17 11:17 UTC (permalink / raw)
To: Zbigniew Kempczyński, igt-dev
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
On 27.5.2024 10.33, Zbigniew Kempczyński wrote:
> Preliminary patch which adds necessary definitions for Tile64 in
> bufops.
>
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> ---
> lib/intel_bufops.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
> index 70f70bfa9e..eb367be2f3 100644
> --- a/lib/intel_bufops.c
> +++ b/lib/intel_bufops.c
> @@ -93,6 +93,7 @@
> #undef TILE_Yf
> #undef TILE_Ys
> #undef TILE_4
> +#undef TILE_64
>
> #define TILE_DEF(x) (1 << (x))
> #define TILE_NONE TILE_DEF(I915_TILING_NONE)
> @@ -101,6 +102,7 @@
> #define TILE_Yf TILE_DEF(I915_TILING_Yf)
> #define TILE_Ys TILE_DEF(I915_TILING_Ys)
> #define TILE_4 TILE_DEF(I915_TILING_4)
> +#define TILE_64 TILE_DEF(I915_TILING_64)
>
> #define CCS_OFFSET(buf) (buf->ccs[0].offset)
> #define CCS_SIZE(gen, buf) \
> @@ -143,6 +145,7 @@ static const char *tiling_str(uint32_t tiling)
> case I915_TILING_Yf: return "Yf";
> case I915_TILING_Ys: return "Ys";
> case I915_TILING_4: return "4";
> + case I915_TILING_64: return "64";
> default: return "UNKNOWN";
> }
> }
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH i-g-t 10/12] lib/intel_bufops: Drop Tile4 swizzling
2024-05-27 7:33 ` [PATCH i-g-t 10/12] lib/intel_bufops: Drop Tile4 swizzling Zbigniew Kempczyński
@ 2024-06-17 11:17 ` Juha-Pekka Heikkila
0 siblings, 0 replies; 32+ messages in thread
From: Juha-Pekka Heikkila @ 2024-06-17 11:17 UTC (permalink / raw)
To: Zbigniew Kempczyński, igt-dev
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
On 27.5.2024 10.33, Zbigniew Kempczyński wrote:
> Swizzling is used only on older platforms and for X and Y tilings.
>
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> ---
> lib/intel_bufops.c | 38 +++++++-------------------------------
> 1 file changed, 7 insertions(+), 31 deletions(-)
>
> diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
> index eb367be2f3..d0f6ab481f 100644
> --- a/lib/intel_bufops.c
> +++ b/lib/intel_bufops.c
> @@ -121,7 +121,6 @@ struct buf_ops {
> uint32_t supported_hw_tiles;
> uint32_t swizzle_x;
> uint32_t swizzle_y;
> - uint32_t swizzle_tile4;
> bo_copy linear_to;
> bo_copy linear_to_x;
> bo_copy linear_to_y;
> @@ -654,7 +653,7 @@ static void copy_linear_to_tile4(struct buf_ops *bops, struct intel_buf *buf,
> uint32_t *linear)
> {
> DEBUGFN();
> - __copy_linear_to(bops->fd, buf, linear, I915_TILING_4, bops->swizzle_tile4);
> + __copy_linear_to(bops->fd, buf, linear, I915_TILING_4, 0);
> }
>
> static void __copy_to_linear(int fd, struct intel_buf *buf,
> @@ -1531,7 +1530,7 @@ void intel_buf_draw_pattern(struct buf_ops *bops, struct intel_buf *buf,
> #define DEFAULT_BUFOPS(__gen_start, __gen_end) \
> .gen_start = __gen_start, \
> .gen_end = __gen_end, \
> - .supported_hw_tiles = TILE_X | TILE_Y | TILE_4, \
> + .supported_hw_tiles = TILE_X | TILE_Y, \
> .linear_to = copy_linear_to_wc, \
> .linear_to_x = copy_linear_to_gtt, \
> .linear_to_y = copy_linear_to_gtt, \
> @@ -1586,8 +1585,6 @@ static bool probe_hw_tiling(struct buf_ops *bops, uint32_t tiling,
> bops->swizzle_x = buf_swizzle;
> else if (tiling == I915_TILING_Y)
> bops->swizzle_y = buf_swizzle;
> - else if (tiling == I915_TILING_4)
> - bops->swizzle_tile4 = buf_swizzle;
>
> *swizzling_supported = buf_swizzle == phys_swizzle;
> }
> @@ -1754,36 +1751,15 @@ static struct buf_ops *__buf_ops_create(int fd, bool check_idempotency)
> }
> }
>
> - if (is_hw_tiling_supported(bops, I915_TILING_4)) {
> - bool swizzling_supported;
> - bool supported = probe_hw_tiling(bops, I915_TILING_4,
> - &swizzling_supported);
> -
> - if (!swizzling_supported) {
> - igt_debug("Swizzling for 4 is not supported\n");
> - bops->supported_tiles &= ~TILE_4;
> - }
> -
> - igt_debug("4 fence support: %s\n", bool_str(supported));
> - if (!supported) {
> - bops->supported_hw_tiles &= ~TILE_4;
> - bops->linear_to_tile4 = copy_linear_to_tile4;
> - bops->tile4_to_linear = copy_tile4_to_linear;
> - }
> - }
> -
> /* Disable other tiling format functions if not supported */
> - if (!is_tiling_supported(bops, I915_TILING_Yf)) {
> + if (!is_tiling_supported(bops, I915_TILING_Yf))
> igt_debug("Yf format not supported\n");
> - bops->linear_to_yf = NULL;
> - bops->yf_to_linear = NULL;
> - }
>
> - if (!is_tiling_supported(bops, I915_TILING_Ys)) {
> + if (!is_tiling_supported(bops, I915_TILING_Ys))
> igt_debug("Ys format not supported\n");
> - bops->linear_to_ys = NULL;
> - bops->ys_to_linear = NULL;
> - }
> +
> + if (!is_tiling_supported(bops, I915_TILING_4))
> + igt_debug("Tile4 format not supported\n");
>
> if (check_idempotency) {
> idempotency_selftest(bops, I915_TILING_X);
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH i-g-t 11/12] lib/intel_bufops: Don't disable x and y on platforms without swizzling
2024-05-27 7:33 ` [PATCH i-g-t 11/12] lib/intel_bufops: Don't disable x and y on platforms without swizzling Zbigniew Kempczyński
@ 2024-06-17 16:43 ` Juha-Pekka Heikkila
0 siblings, 0 replies; 32+ messages in thread
From: Juha-Pekka Heikkila @ 2024-06-17 16:43 UTC (permalink / raw)
To: Zbigniew Kempczyński, igt-dev
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
On 27.5.2024 10.33, Zbigniew Kempczyński wrote:
> Upcoming tiling detection tool wants to produce X and Y surfaces
> in software so we can't disable X and Y in supported tilings,
> otherwise there's no possibility to generate reference tiled surface.
>
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> ---
> lib/intel_bufops.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
> index d0f6ab481f..1dfc12bf45 100644
> --- a/lib/intel_bufops.c
> +++ b/lib/intel_bufops.c
> @@ -1720,7 +1720,7 @@ static struct buf_ops *__buf_ops_create(int fd, bool check_idempotency)
> bool supported = probe_hw_tiling(bops, I915_TILING_X,
> &swizzling_supported);
>
> - if (!swizzling_supported) {
> + if (!swizzling_supported && bops->intel_gen < 12) {
> igt_debug("Swizzling for X is not supported\n");
> bops->supported_tiles &= ~TILE_X;
> }
> @@ -1738,7 +1738,7 @@ static struct buf_ops *__buf_ops_create(int fd, bool check_idempotency)
> bool supported = probe_hw_tiling(bops, I915_TILING_Y,
> &swizzling_supported);
>
> - if (!swizzling_supported) {
> + if (!swizzling_supported && bops->intel_gen < 12) {
> igt_debug("Swizzling for Y is not supported\n");
> bops->supported_tiles &= ~TILE_Y;
> }
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH i-g-t 12/12] tools/intel_tiling_detect: Introduce tiling detection tool
2024-05-27 7:33 ` [PATCH i-g-t 12/12] tools/intel_tiling_detect: Introduce tiling detection tool Zbigniew Kempczyński
@ 2024-06-17 19:21 ` Juha-Pekka Heikkila
2024-06-18 4:51 ` Zbigniew Kempczyński
2024-06-17 19:46 ` Kamil Konieczny
1 sibling, 1 reply; 32+ messages in thread
From: Juha-Pekka Heikkila @ 2024-06-17 19:21 UTC (permalink / raw)
To: Zbigniew Kempczyński, igt-dev
Just small issues below, on the actual engine stuff I didn't spot
anything comment worthy.
On 27.5.2024 10.33, Zbigniew Kempczyński wrote:
> In some tests we're incorrectly assumming we get requested tiling.
> In blt library we defined available blitter and render tilings for
> defined platforms to avoid being wrong and allowing iterators to walk
> over proper tilings. Unfortunately we're not sure what's the real
> tiling underneath as we're not validating its content.
>
> Instead of blindly trusting the documentation as it might be wrong
> or vague lets introduce tiling detection tool for Intel platforms.
> Currently it supports detecting linear/X/Y/Yf/Ys/4 tilings (tile64
> is queued to be added) in fast-copy, block-copy and render-copy
> commands.
>
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> ---
> tools/intel_tiling_detect.c | 432 ++++++++++++++++++++++++++++++++++++
> tools/meson.build | 1 +
> 2 files changed, 433 insertions(+)
> create mode 100644 tools/intel_tiling_detect.c
>
> diff --git a/tools/intel_tiling_detect.c b/tools/intel_tiling_detect.c
> new file mode 100644
> index 0000000000..ea5ea5eae6
> --- /dev/null
> +++ b/tools/intel_tiling_detect.c
> @@ -0,0 +1,432 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2024 Intel Corporation
> + */
> +
> +#include <errno.h>
> +#include <glib.h>
> +#include <sys/ioctl.h>
> +#include <sys/time.h>
> +#include <malloc.h>
> +#include "drm.h"
> +#include "igt.h"
> +#include "igt_syncobj.h"
> +#include "i915/gem_create.h"
> +#include "intel_blt.h"
> +#include "intel_common.h"
> +#include "intel_mocs.h"
> +#include "intel_pat.h"
> +#include "xe/xe_ioctl.h"
> +#include "xe/xe_query.h"
> +#include "xe/xe_util.h"
> +
> +IGT_TEST_DESCRIPTION("Exercise gen12 blitter with and without flatccs compression on Xe");
cut'n'paste description? :)
> +
> +static struct param {
> + int tiling;
> + bool write_png;
> + bool print_bb;
> + bool print_surface_info;
> + int width;
> + int height;
> + int incdim_width;
> +} param = {
> + .tiling = -1,
> + .write_png = false,
> + .print_bb = false,
> + .print_surface_info = false,
> + .width = 256,
> + .height = 256,
> + .incdim_width = 1,
> +};
> +
> +struct intel_buf refs[I915_TILING_64] = {};
I think this should be structured somehow differently as that
I915_TILING_64 already defined as MAX_TILING + n. Though, just now I
have no good suggestion.
> +
> +#define PRINT_SURFACE_INFO(name, obj) do { \
> + if (param.print_surface_info) \
> + blt_surface_info((name), (obj)); } while (0)
> +
> +#define WRITE_PNG(fd, id, name, obj, w, h, bpp) do { \
> + if (param.write_png) \
> + blt_surface_to_png((fd), (id), (name), (obj), (w), (h), (bpp)); } while (0)
> +
> +const char *help_str =
> + " -b\tPrint bb\n"
> + " -s\tPrint surface info\n"
> + " -p\tWrite PNG\n"
> + " -W\tWidth (default 256)\n"
> + " -H\tHeight (default 256)\n"
> + " -h\tHelp"
> + ;
> +
> +enum copy_fn {
> + FAST_COPY,
> + BLOCK_COPY,
> + RENDER_COPY,
> +};
> +
> +static const char * const copy_fn_name[] = {
> + [FAST_COPY] = "fast-copy",
> + [BLOCK_COPY] = "block-copy",
> + [RENDER_COPY] = "render-copy",
> +};
> +
> +static void detect_blt_tiling(const struct blt_copy_object *buf)
> +{
> + bool detected = false;
> + int i;
> +
> + for (i = 0; i < ARRAY_SIZE(refs); i++) {
> + if (!refs[i].bops)
> + continue;
> +
> + if (!memcmp(buf->ptr, refs[i].ptr, buf->size)) {
> + detected = true;
> + break;
> + }
> + }
> +
> + igt_info("buffer tiling (claimed): %s, detected: %s\n",
> + blt_tiling_name(buf->tiling),
> + detected ? blt_tiling_name(i915_tile_to_blt_tile(i)) : "unknown");
> +}
> +
> +static void blt_copy(int fd,
> + intel_ctx_t *ctx,
> + const struct intel_execution_engine2 *e,
> + uint32_t width, uint32_t height,
> + enum blt_tiling_type tiling,
> + enum copy_fn fn)
> +{
> + struct blt_copy_data blt = {};
> + struct blt_block_copy_data_ext ext = {}, *pext = &ext;
> + struct blt_copy_object *src, *dst;
> + const uint32_t bpp = 32;
> + uint64_t bb_size;
> + uint64_t ahnd = intel_allocator_open(fd, ctx->vm, INTEL_ALLOCATOR_RELOC);
> + uint32_t run_id = tiling;
> + uint32_t src_region, dst_region;
> + uint32_t bb;
> + uint8_t uc_mocs = intel_get_uc_mocs_index(fd);
> + bool is_xe = is_xe_device(fd);
> +
> + if (is_xe) {
> + bb_size = xe_bb_size(fd, SZ_4K);
> + src_region = system_memory(fd);
> + dst_region = vram_if_possible(fd, 0);
> + bb = xe_bo_create(fd, 0, bb_size, src_region, 0);
> + } else {
> + bb_size = SZ_4K;
> + src_region = REGION_SMEM;
> + dst_region = gem_has_lmem(fd) ? REGION_LMEM(0) : REGION_SMEM;
> + igt_assert(__gem_create_in_memory_regions(fd, &bb, &bb_size, src_region) == 0);
> + }
> +
> + if (!blt_uses_extended_block_copy(fd))
> + pext = NULL;
> +
> + blt_copy_init(fd, &blt);
> +
> + src = blt_create_object(&blt, src_region, width, height, bpp, uc_mocs,
> + T_LINEAR, COMPRESSION_DISABLED,
> + COMPRESSION_TYPE_3D, true);
> + dst = blt_create_object(&blt, dst_region, width, height, bpp, uc_mocs,
> + tiling, COMPRESSION_DISABLED,
> + COMPRESSION_TYPE_3D, true);
> + PRINT_SURFACE_INFO("src", src);
> + PRINT_SURFACE_INFO("dst", dst);
> +
> + blt_surface_fill_rect(fd, src, width, height);
> +
> + blt.color_depth = CD_32bit;
> + blt.print_bb = param.print_bb;
> + blt_set_copy_object(&blt.src, src);
> + blt_set_copy_object(&blt.dst, dst);
> + blt_set_object_ext(&ext.src, 0, width, height, SURFACE_TYPE_2D);
> + blt_set_object_ext(&ext.dst, 0, width, height, SURFACE_TYPE_2D);
> + blt_set_batch(&blt.bb, bb, bb_size, src_region);
> + if (fn == BLOCK_COPY)
> + blt_block_copy(fd, ctx, e, ahnd, &blt, pext);
> + else if (fn == FAST_COPY)
> + blt_fast_copy(fd, ctx, e, ahnd, &blt);
> + if (is_xe)
> + intel_ctx_xe_sync(ctx, true);
> + else
> + gem_sync(fd, dst->handle);
> +
> + WRITE_PNG(fd, run_id, copy_fn_name[fn], &blt.dst, width, height, bpp);
> +
> + detect_blt_tiling(dst);
> +
> + /* Politely clean vm */
> + put_offset(ahnd, src->handle);
> + put_offset(ahnd, dst->handle);
> + put_offset(ahnd, bb);
> + intel_allocator_bind(ahnd, 0, 0);
> + blt_destroy_object(fd, src);
> + blt_destroy_object(fd, dst);
> + gem_close(fd, bb);
> + put_ahnd(ahnd);
> +}
> +
> +static void detect_render_tiling(struct intel_buf *buf)
> +{
> + bool detected = false;
> + int i;
> +
> + intel_buf_device_map(buf, false);
> +
> + for (i = 0; i < ARRAY_SIZE(refs); i++) {
> + if (!refs[i].bops)
> + continue;
> +
> + if (!memcmp(buf->ptr, refs[i].ptr, buf->size)) {
> + detected = true;
> + break;
> + }
> + }
> +
> + intel_buf_unmap(buf);
> +
> + igt_info("buffer tiling (claimed): %s, detected: %s\n",
> + blt_tiling_name(buf->tiling),
> + detected ? blt_tiling_name(i915_tile_to_blt_tile(i)) : "unknown");
> +}
> +
> +static void scratch_buf_init(struct buf_ops *bops,
> + struct intel_buf *buf,
> + int width, int height,
> + uint32_t tiling,
> + enum i915_compression compression)
> +{
> + int fd = buf_ops_get_fd(bops);
> + int bpp = 32;
> +
> + /*
> + * We use system memory even if vram is possible because wc mapping
> + * is extremely slow.
> + */
> + intel_buf_init_in_region(bops, buf, width, height, bpp, 0,
> + tiling, compression,
> + is_xe_device(fd) ? system_memory(fd) : REGION_SMEM);
> +
> + igt_assert(intel_buf_width(buf) == width);
> + igt_assert(intel_buf_height(buf) == height);
> +}
> +
> +static void render(int fd, uint32_t width, uint32_t height, uint32_t tiling)
> +{
> + struct buf_ops *bops;
> + struct intel_bb *ibb;
> + struct intel_buf src, dst;
> + uint32_t devid = intel_get_drm_devid(fd);
> + igt_render_copyfunc_t render_copy = NULL;
> +
> + bops = buf_ops_create(fd);
> +
> + igt_debug("%s() gen: %d\n", __func__, intel_gen(devid));
> +
> + ibb = intel_bb_create(fd, SZ_4K);
> +
> + scratch_buf_init(bops, &src, width, height, I915_TILING_NONE,
> + I915_COMPRESSION_NONE);
> + scratch_buf_init(bops, &dst, width, height, tiling,
> + I915_COMPRESSION_NONE);
> +
> + /* Copy reference linear image */
> + intel_buf_device_map(&src, true);
> + memcpy(src.ptr, refs[0].ptr, src.bo_size);
> + intel_buf_unmap(&src);
> +
> + render_copy = igt_get_render_copyfunc(devid);
> + igt_assert(render_copy);
> +
> + render_copy(ibb,
> + &src,
> + 0, 0, width, height,
> + &dst,
> + 0, 0);
> +
> + intel_bb_sync(ibb);
> + intel_bb_destroy(ibb);
> +
> + detect_render_tiling(&dst);
> +
> + if (param.write_png)
> + intel_buf_raw_write_to_png(&dst, "render-tile-%s.png",
> + blt_tiling_name(i915_tile_to_blt_tile(tiling)));
> +
> + intel_buf_close(bops, &src);
> + intel_buf_close(bops, &dst);
> +
> + buf_ops_destroy(bops);
> +}
> +
> +static void single_copy(int fd,
> + uint32_t width, uint32_t height,
> + int tiling, enum copy_fn fn)
> +{
> + /* for potential hangs */
> + fd = drm_reopen_driver(fd);
> +
> + switch (fn) {
> + case BLOCK_COPY:
> + case FAST_COPY:
> + if (is_xe_device(fd)) {
> + struct drm_xe_engine_class_instance inst = {
> + .engine_class = DRM_XE_ENGINE_CLASS_COPY,
> + };
> + uint32_t vm, exec_queue;
> + intel_ctx_t *ctx;
> +
> + vm = xe_vm_create(fd, 0, 0);
> + exec_queue = xe_exec_queue_create(fd, vm, &inst, 0);
> + ctx = intel_ctx_xe(fd, vm, exec_queue, 0, 0, 0);
> +
> + blt_copy(fd, ctx, NULL, width, height, tiling, fn);
> +
> + xe_exec_queue_destroy(fd, exec_queue);
> + xe_vm_destroy(fd, vm);
> + free(ctx);
> + } else {
> + const struct intel_execution_engine2 *e;
> + const intel_ctx_t *ctx;
> +
> + ctx = intel_ctx_create_all_physical(fd);
> + for_each_ctx_engine(fd, ctx, e) {
> + if (e->class != I915_ENGINE_CLASS_COPY)
> + continue;
> +
> + if (fn == BLOCK_COPY && !gem_engine_can_block_copy(fd, e))
> + continue;
> +
> + blt_copy(fd, (intel_ctx_t *)ctx, e,
> + width, height, tiling, fn);
> + break;
> + }
> + intel_ctx_destroy(fd, ctx);
> + }
> + break;
> +
> + case RENDER_COPY:
> + render(fd, width, height, blt_tile_to_i915_tile(tiling));
> + break;
> + }
> +
> + drm_close_driver(fd);
> +}
> +
> +static void soft_tile(struct buf_ops *bops, struct intel_buf *buf,
> + uint32_t width, uint32_t height, uint32_t tiling)
> +{
> + struct blt_copy_data blt = {};
> + struct blt_copy_object *src;
> + int fd = buf_ops_get_fd(bops);
> + uint8_t uc_mocs = intel_get_uc_mocs_index(fd);
> + enum blt_compression_type comp_type = COMPRESSION_TYPE_3D;
> + uint64_t sys_region;
> + const int bpp = 32;
> +
> + sys_region = is_xe_device(fd) ? system_memory(fd) : REGION_SMEM;
> + blt_copy_init(fd, &blt);
> + src = blt_create_object(&blt, sys_region, width, height, bpp, uc_mocs,
> + T_LINEAR, COMPRESSION_DISABLED, comp_type, true);
> + blt_surface_fill_rect(fd, src, width, height);
> +
> + intel_buf_init(bops, buf, width, height, bpp, 0, tiling, false);
> + buf_ops_set_software_tiling(bops, tiling, true);
> +
> + linear_to_intel_buf(bops, buf, src->ptr);
> +
> + if (param.write_png)
> + intel_buf_raw_write_to_png(buf, "reference-tile-%s.png",
> + blt_tiling_name(i915_tile_to_blt_tile(tiling)));
> +}
> +
> +static bool try_tile[] = {
> + [I915_TILING_NONE] = true,
> + [I915_TILING_X] = true,
> + [I915_TILING_Y] = true,
> + [I915_TILING_4] = true,
> + [I915_TILING_Yf] = true,
> + [I915_TILING_64] = false,
> +};
I think you have hole in this list? You don't have Ys here when you'll
be missing I915_TILING_LAST + 3 while you do have I915_TILING_LAST + 4
Maybe create struct to encapsulate these and the use list of those
structs? Then there would be no holes.
> +
> +int main(int argc, char *argv[])
> +{
> + struct buf_ops *bops;
> + int fd, i, fn, opt;
> +
> + while ((opt = getopt(argc, argv, "bpsW:H:h")) != -1) {
> + switch (opt) {
> + case 'b':
> + param.print_bb = true;
> + break;
> +
> + case 'p':
> + param.write_png = true;
> + break;
> +
> + case 's':
> + param.print_surface_info = true;
> + break;
> +
> + case 'W':
> + param.width = atoi(optarg);
> + break;
> +
> + case 'H':
> + param.height = atoi(optarg);
> + break;
> +
> + case 'h':
> + igt_info("%s\n", help_str);
> + exit(0);
> + break;
> +
> + default:
> + break;
> + }
> + }
> +
> + fd = drm_open_driver(DRIVER_INTEL | DRIVER_XE);
> + if (is_xe_device(fd))
> + xe_device_get(fd);
> +
> + bops = buf_ops_create(fd);
> +
> + for (i = 0; i <= I915_TILING_64; i++) {
why not ARRAY_SIZE() ?
> + igt_info("Building reference tile[%-7s] = %s\n",
> + blt_tiling_name(i915_tile_to_blt_tile(i)),
> + try_tile[i] ? "yes" : "no");
> + if (try_tile[i]) {
> + soft_tile(bops, &refs[i],
> + param.width, param.height, i);
> + intel_buf_device_map(&refs[i], false);
> + }
> + }
> +
> + for (fn = FAST_COPY; fn <= RENDER_COPY; fn++) {
> + if (fn == FAST_COPY && !blt_has_fast_copy(fd))
> + continue;
> +
> + if (fn == BLOCK_COPY && !blt_has_block_copy(fd))
> + continue;
> +
> + igt_info("[%s]:\n", copy_fn_name[fn]);
> +
> + for (i = 0; i <= I915_TILING_64; i++)
> + if (try_tile[i])
> + single_copy(fd, param.width, param.height,
> + i915_tile_to_blt_tile(i), fn);
> + }
> +
> + for (i = 0; i <= I915_TILING_64; i++) {
> + if (try_tile[i])
> + intel_buf_unmap(&refs[i]);
> + }
> +
> + if (is_xe_device(fd))
> + xe_device_put(fd);
> + close(fd);
> +}
> diff --git a/tools/meson.build b/tools/meson.build
> index ac79d8b584..1656355eef 100644
> --- a/tools/meson.build
> +++ b/tools/meson.build
> @@ -36,6 +36,7 @@ tools_progs = [
> 'intel_reg_checker',
> 'intel_residency',
> 'intel_stepping',
> + 'intel_tiling_detect',
> 'intel_vbt_decode',
> 'intel_watermark',
> 'intel_gem_info',
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH i-g-t 12/12] tools/intel_tiling_detect: Introduce tiling detection tool
2024-05-27 7:33 ` [PATCH i-g-t 12/12] tools/intel_tiling_detect: Introduce tiling detection tool Zbigniew Kempczyński
2024-06-17 19:21 ` Juha-Pekka Heikkila
@ 2024-06-17 19:46 ` Kamil Konieczny
2024-06-18 5:15 ` Zbigniew Kempczyński
1 sibling, 1 reply; 32+ messages in thread
From: Kamil Konieczny @ 2024-06-17 19:46 UTC (permalink / raw)
To: igt-dev; +Cc: Zbigniew Kempczyński, Juha-Pekka Heikkila
Hi Zbigniew,
On 2024-05-27 at 09:33:45 +0200, Zbigniew Kempczyński wrote:
> In some tests we're incorrectly assumming we get requested tiling.
> In blt library we defined available blitter and render tilings for
> defined platforms to avoid being wrong and allowing iterators to walk
> over proper tilings. Unfortunately we're not sure what's the real
> tiling underneath as we're not validating its content.
>
> Instead of blindly trusting the documentation as it might be wrong
> or vague lets introduce tiling detection tool for Intel platforms.
> Currently it supports detecting linear/X/Y/Yf/Ys/4 tilings (tile64
> is queued to be added) in fast-copy, block-copy and render-copy
> commands.
>
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> ---
> tools/intel_tiling_detect.c | 432 ++++++++++++++++++++++++++++++++++++
> tools/meson.build | 1 +
> 2 files changed, 433 insertions(+)
> create mode 100644 tools/intel_tiling_detect.c
>
> diff --git a/tools/intel_tiling_detect.c b/tools/intel_tiling_detect.c
> new file mode 100644
> index 0000000000..ea5ea5eae6
> --- /dev/null
> +++ b/tools/intel_tiling_detect.c
> @@ -0,0 +1,432 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2024 Intel Corporation
> + */
> +
> +#include <errno.h>
> +#include <glib.h>
> +#include <sys/ioctl.h>
> +#include <sys/time.h>
> +#include <malloc.h>
-------------^
Sort it alphabetically.
Add newline here.
> +#include "drm.h"
> +#include "igt.h"
> +#include "igt_syncobj.h"
> +#include "i915/gem_create.h"
-------------^^
Sort it alphabetically.
> +#include "intel_blt.h"
> +#include "intel_common.h"
> +#include "intel_mocs.h"
> +#include "intel_pat.h"
> +#include "xe/xe_ioctl.h"
> +#include "xe/xe_query.h"
> +#include "xe/xe_util.h"
> +
> +IGT_TEST_DESCRIPTION("Exercise gen12 blitter with and without flatccs compression on Xe");
> +
> +static struct param {
> + int tiling;
> + bool write_png;
> + bool print_bb;
> + bool print_surface_info;
> + int width;
> + int height;
> + int incdim_width;
> +} param = {
> + .tiling = -1,
> + .write_png = false,
> + .print_bb = false,
> + .print_surface_info = false,
> + .width = 256,
> + .height = 256,
> + .incdim_width = 1,
> +};
> +
> +struct intel_buf refs[I915_TILING_64] = {};
> +
> +#define PRINT_SURFACE_INFO(name, obj) do { \
> + if (param.print_surface_info) \
> + blt_surface_info((name), (obj)); } while (0)
> +
> +#define WRITE_PNG(fd, id, name, obj, w, h, bpp) do { \
> + if (param.write_png) \
> + blt_surface_to_png((fd), (id), (name), (obj), (w), (h), (bpp)); } while (0)
> +
> +const char *help_str =
> + " -b\tPrint bb\n"
> + " -s\tPrint surface info\n"
> + " -p\tWrite PNG\n"
> + " -W\tWidth (default 256)\n"
> + " -H\tHeight (default 256)\n"
> + " -h\tHelp"
---------------^
No final '\n'?
> + ;
Could you also add some examples for usage?
Do you allow to specify which /dev/driN device will be tested?
Or maybe just allow user to specify path for device?
Regards,
Kamil
> +
> +enum copy_fn {
> + FAST_COPY,
> + BLOCK_COPY,
> + RENDER_COPY,
> +};
> +
> +static const char * const copy_fn_name[] = {
> + [FAST_COPY] = "fast-copy",
> + [BLOCK_COPY] = "block-copy",
> + [RENDER_COPY] = "render-copy",
> +};
> +
> +static void detect_blt_tiling(const struct blt_copy_object *buf)
> +{
> + bool detected = false;
> + int i;
> +
> + for (i = 0; i < ARRAY_SIZE(refs); i++) {
> + if (!refs[i].bops)
> + continue;
> +
> + if (!memcmp(buf->ptr, refs[i].ptr, buf->size)) {
> + detected = true;
> + break;
> + }
> + }
> +
> + igt_info("buffer tiling (claimed): %s, detected: %s\n",
> + blt_tiling_name(buf->tiling),
> + detected ? blt_tiling_name(i915_tile_to_blt_tile(i)) : "unknown");
> +}
> +
> +static void blt_copy(int fd,
> + intel_ctx_t *ctx,
> + const struct intel_execution_engine2 *e,
> + uint32_t width, uint32_t height,
> + enum blt_tiling_type tiling,
> + enum copy_fn fn)
> +{
> + struct blt_copy_data blt = {};
> + struct blt_block_copy_data_ext ext = {}, *pext = &ext;
> + struct blt_copy_object *src, *dst;
> + const uint32_t bpp = 32;
> + uint64_t bb_size;
> + uint64_t ahnd = intel_allocator_open(fd, ctx->vm, INTEL_ALLOCATOR_RELOC);
> + uint32_t run_id = tiling;
> + uint32_t src_region, dst_region;
> + uint32_t bb;
> + uint8_t uc_mocs = intel_get_uc_mocs_index(fd);
> + bool is_xe = is_xe_device(fd);
> +
> + if (is_xe) {
> + bb_size = xe_bb_size(fd, SZ_4K);
> + src_region = system_memory(fd);
> + dst_region = vram_if_possible(fd, 0);
> + bb = xe_bo_create(fd, 0, bb_size, src_region, 0);
> + } else {
> + bb_size = SZ_4K;
> + src_region = REGION_SMEM;
> + dst_region = gem_has_lmem(fd) ? REGION_LMEM(0) : REGION_SMEM;
> + igt_assert(__gem_create_in_memory_regions(fd, &bb, &bb_size, src_region) == 0);
> + }
> +
> + if (!blt_uses_extended_block_copy(fd))
> + pext = NULL;
> +
> + blt_copy_init(fd, &blt);
> +
> + src = blt_create_object(&blt, src_region, width, height, bpp, uc_mocs,
> + T_LINEAR, COMPRESSION_DISABLED,
> + COMPRESSION_TYPE_3D, true);
> + dst = blt_create_object(&blt, dst_region, width, height, bpp, uc_mocs,
> + tiling, COMPRESSION_DISABLED,
> + COMPRESSION_TYPE_3D, true);
> + PRINT_SURFACE_INFO("src", src);
> + PRINT_SURFACE_INFO("dst", dst);
> +
> + blt_surface_fill_rect(fd, src, width, height);
> +
> + blt.color_depth = CD_32bit;
> + blt.print_bb = param.print_bb;
> + blt_set_copy_object(&blt.src, src);
> + blt_set_copy_object(&blt.dst, dst);
> + blt_set_object_ext(&ext.src, 0, width, height, SURFACE_TYPE_2D);
> + blt_set_object_ext(&ext.dst, 0, width, height, SURFACE_TYPE_2D);
> + blt_set_batch(&blt.bb, bb, bb_size, src_region);
> + if (fn == BLOCK_COPY)
> + blt_block_copy(fd, ctx, e, ahnd, &blt, pext);
> + else if (fn == FAST_COPY)
> + blt_fast_copy(fd, ctx, e, ahnd, &blt);
> + if (is_xe)
> + intel_ctx_xe_sync(ctx, true);
> + else
> + gem_sync(fd, dst->handle);
> +
> + WRITE_PNG(fd, run_id, copy_fn_name[fn], &blt.dst, width, height, bpp);
> +
> + detect_blt_tiling(dst);
> +
> + /* Politely clean vm */
> + put_offset(ahnd, src->handle);
> + put_offset(ahnd, dst->handle);
> + put_offset(ahnd, bb);
> + intel_allocator_bind(ahnd, 0, 0);
> + blt_destroy_object(fd, src);
> + blt_destroy_object(fd, dst);
> + gem_close(fd, bb);
> + put_ahnd(ahnd);
> +}
> +
> +static void detect_render_tiling(struct intel_buf *buf)
> +{
> + bool detected = false;
> + int i;
> +
> + intel_buf_device_map(buf, false);
> +
> + for (i = 0; i < ARRAY_SIZE(refs); i++) {
> + if (!refs[i].bops)
> + continue;
> +
> + if (!memcmp(buf->ptr, refs[i].ptr, buf->size)) {
> + detected = true;
> + break;
> + }
> + }
> +
> + intel_buf_unmap(buf);
> +
> + igt_info("buffer tiling (claimed): %s, detected: %s\n",
> + blt_tiling_name(buf->tiling),
> + detected ? blt_tiling_name(i915_tile_to_blt_tile(i)) : "unknown");
> +}
> +
> +static void scratch_buf_init(struct buf_ops *bops,
> + struct intel_buf *buf,
> + int width, int height,
> + uint32_t tiling,
> + enum i915_compression compression)
> +{
> + int fd = buf_ops_get_fd(bops);
> + int bpp = 32;
> +
> + /*
> + * We use system memory even if vram is possible because wc mapping
> + * is extremely slow.
> + */
> + intel_buf_init_in_region(bops, buf, width, height, bpp, 0,
> + tiling, compression,
> + is_xe_device(fd) ? system_memory(fd) : REGION_SMEM);
> +
> + igt_assert(intel_buf_width(buf) == width);
> + igt_assert(intel_buf_height(buf) == height);
> +}
> +
> +static void render(int fd, uint32_t width, uint32_t height, uint32_t tiling)
> +{
> + struct buf_ops *bops;
> + struct intel_bb *ibb;
> + struct intel_buf src, dst;
> + uint32_t devid = intel_get_drm_devid(fd);
> + igt_render_copyfunc_t render_copy = NULL;
> +
> + bops = buf_ops_create(fd);
> +
> + igt_debug("%s() gen: %d\n", __func__, intel_gen(devid));
> +
> + ibb = intel_bb_create(fd, SZ_4K);
> +
> + scratch_buf_init(bops, &src, width, height, I915_TILING_NONE,
> + I915_COMPRESSION_NONE);
> + scratch_buf_init(bops, &dst, width, height, tiling,
> + I915_COMPRESSION_NONE);
> +
> + /* Copy reference linear image */
> + intel_buf_device_map(&src, true);
> + memcpy(src.ptr, refs[0].ptr, src.bo_size);
> + intel_buf_unmap(&src);
> +
> + render_copy = igt_get_render_copyfunc(devid);
> + igt_assert(render_copy);
> +
> + render_copy(ibb,
> + &src,
> + 0, 0, width, height,
> + &dst,
> + 0, 0);
> +
> + intel_bb_sync(ibb);
> + intel_bb_destroy(ibb);
> +
> + detect_render_tiling(&dst);
> +
> + if (param.write_png)
> + intel_buf_raw_write_to_png(&dst, "render-tile-%s.png",
> + blt_tiling_name(i915_tile_to_blt_tile(tiling)));
> +
> + intel_buf_close(bops, &src);
> + intel_buf_close(bops, &dst);
> +
> + buf_ops_destroy(bops);
> +}
> +
> +static void single_copy(int fd,
> + uint32_t width, uint32_t height,
> + int tiling, enum copy_fn fn)
> +{
> + /* for potential hangs */
> + fd = drm_reopen_driver(fd);
> +
> + switch (fn) {
> + case BLOCK_COPY:
> + case FAST_COPY:
> + if (is_xe_device(fd)) {
> + struct drm_xe_engine_class_instance inst = {
> + .engine_class = DRM_XE_ENGINE_CLASS_COPY,
> + };
> + uint32_t vm, exec_queue;
> + intel_ctx_t *ctx;
> +
> + vm = xe_vm_create(fd, 0, 0);
> + exec_queue = xe_exec_queue_create(fd, vm, &inst, 0);
> + ctx = intel_ctx_xe(fd, vm, exec_queue, 0, 0, 0);
> +
> + blt_copy(fd, ctx, NULL, width, height, tiling, fn);
> +
> + xe_exec_queue_destroy(fd, exec_queue);
> + xe_vm_destroy(fd, vm);
> + free(ctx);
> + } else {
> + const struct intel_execution_engine2 *e;
> + const intel_ctx_t *ctx;
> +
> + ctx = intel_ctx_create_all_physical(fd);
> + for_each_ctx_engine(fd, ctx, e) {
> + if (e->class != I915_ENGINE_CLASS_COPY)
> + continue;
> +
> + if (fn == BLOCK_COPY && !gem_engine_can_block_copy(fd, e))
> + continue;
> +
> + blt_copy(fd, (intel_ctx_t *)ctx, e,
> + width, height, tiling, fn);
> + break;
> + }
> + intel_ctx_destroy(fd, ctx);
> + }
> + break;
> +
> + case RENDER_COPY:
> + render(fd, width, height, blt_tile_to_i915_tile(tiling));
> + break;
> + }
> +
> + drm_close_driver(fd);
> +}
> +
> +static void soft_tile(struct buf_ops *bops, struct intel_buf *buf,
> + uint32_t width, uint32_t height, uint32_t tiling)
> +{
> + struct blt_copy_data blt = {};
> + struct blt_copy_object *src;
> + int fd = buf_ops_get_fd(bops);
> + uint8_t uc_mocs = intel_get_uc_mocs_index(fd);
> + enum blt_compression_type comp_type = COMPRESSION_TYPE_3D;
> + uint64_t sys_region;
> + const int bpp = 32;
> +
> + sys_region = is_xe_device(fd) ? system_memory(fd) : REGION_SMEM;
> + blt_copy_init(fd, &blt);
> + src = blt_create_object(&blt, sys_region, width, height, bpp, uc_mocs,
> + T_LINEAR, COMPRESSION_DISABLED, comp_type, true);
> + blt_surface_fill_rect(fd, src, width, height);
> +
> + intel_buf_init(bops, buf, width, height, bpp, 0, tiling, false);
> + buf_ops_set_software_tiling(bops, tiling, true);
> +
> + linear_to_intel_buf(bops, buf, src->ptr);
> +
> + if (param.write_png)
> + intel_buf_raw_write_to_png(buf, "reference-tile-%s.png",
> + blt_tiling_name(i915_tile_to_blt_tile(tiling)));
> +}
> +
> +static bool try_tile[] = {
> + [I915_TILING_NONE] = true,
> + [I915_TILING_X] = true,
> + [I915_TILING_Y] = true,
> + [I915_TILING_4] = true,
> + [I915_TILING_Yf] = true,
> + [I915_TILING_64] = false,
> +};
> +
> +int main(int argc, char *argv[])
> +{
> + struct buf_ops *bops;
> + int fd, i, fn, opt;
> +
> + while ((opt = getopt(argc, argv, "bpsW:H:h")) != -1) {
> + switch (opt) {
> + case 'b':
> + param.print_bb = true;
> + break;
> +
> + case 'p':
> + param.write_png = true;
> + break;
> +
> + case 's':
> + param.print_surface_info = true;
> + break;
> +
> + case 'W':
> + param.width = atoi(optarg);
> + break;
> +
> + case 'H':
> + param.height = atoi(optarg);
> + break;
> +
> + case 'h':
> + igt_info("%s\n", help_str);
> + exit(0);
> + break;
> +
> + default:
> + break;
> + }
> + }
> +
> + fd = drm_open_driver(DRIVER_INTEL | DRIVER_XE);
> + if (is_xe_device(fd))
> + xe_device_get(fd);
> +
> + bops = buf_ops_create(fd);
> +
> + for (i = 0; i <= I915_TILING_64; i++) {
> + igt_info("Building reference tile[%-7s] = %s\n",
> + blt_tiling_name(i915_tile_to_blt_tile(i)),
> + try_tile[i] ? "yes" : "no");
> + if (try_tile[i]) {
> + soft_tile(bops, &refs[i],
> + param.width, param.height, i);
> + intel_buf_device_map(&refs[i], false);
> + }
> + }
> +
> + for (fn = FAST_COPY; fn <= RENDER_COPY; fn++) {
> + if (fn == FAST_COPY && !blt_has_fast_copy(fd))
> + continue;
> +
> + if (fn == BLOCK_COPY && !blt_has_block_copy(fd))
> + continue;
> +
> + igt_info("[%s]:\n", copy_fn_name[fn]);
> +
> + for (i = 0; i <= I915_TILING_64; i++)
> + if (try_tile[i])
> + single_copy(fd, param.width, param.height,
> + i915_tile_to_blt_tile(i), fn);
> + }
> +
> + for (i = 0; i <= I915_TILING_64; i++) {
> + if (try_tile[i])
> + intel_buf_unmap(&refs[i]);
> + }
> +
> + if (is_xe_device(fd))
> + xe_device_put(fd);
> + close(fd);
> +}
> diff --git a/tools/meson.build b/tools/meson.build
> index ac79d8b584..1656355eef 100644
> --- a/tools/meson.build
> +++ b/tools/meson.build
> @@ -36,6 +36,7 @@ tools_progs = [
> 'intel_reg_checker',
> 'intel_residency',
> 'intel_stepping',
> + 'intel_tiling_detect',
> 'intel_vbt_decode',
> 'intel_watermark',
> 'intel_gem_info',
> --
> 2.34.1
>
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH i-g-t 12/12] tools/intel_tiling_detect: Introduce tiling detection tool
2024-06-17 19:21 ` Juha-Pekka Heikkila
@ 2024-06-18 4:51 ` Zbigniew Kempczyński
0 siblings, 0 replies; 32+ messages in thread
From: Zbigniew Kempczyński @ 2024-06-18 4:51 UTC (permalink / raw)
To: Juha-Pekka Heikkila; +Cc: igt-dev
On Mon, Jun 17, 2024 at 10:21:29PM +0300, Juha-Pekka Heikkila wrote:
> Just small issues below, on the actual engine stuff I didn't spot anything
> comment worthy.
>
> On 27.5.2024 10.33, Zbigniew Kempczyński wrote:
> > In some tests we're incorrectly assumming we get requested tiling.
> > In blt library we defined available blitter and render tilings for
> > defined platforms to avoid being wrong and allowing iterators to walk
> > over proper tilings. Unfortunately we're not sure what's the real
> > tiling underneath as we're not validating its content.
> >
> > Instead of blindly trusting the documentation as it might be wrong
> > or vague lets introduce tiling detection tool for Intel platforms.
> > Currently it supports detecting linear/X/Y/Yf/Ys/4 tilings (tile64
> > is queued to be added) in fast-copy, block-copy and render-copy
> > commands.
> >
> > Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> > Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> > ---
> > tools/intel_tiling_detect.c | 432 ++++++++++++++++++++++++++++++++++++
> > tools/meson.build | 1 +
> > 2 files changed, 433 insertions(+)
> > create mode 100644 tools/intel_tiling_detect.c
> >
> > diff --git a/tools/intel_tiling_detect.c b/tools/intel_tiling_detect.c
> > new file mode 100644
> > index 0000000000..ea5ea5eae6
> > --- /dev/null
> > +++ b/tools/intel_tiling_detect.c
> > @@ -0,0 +1,432 @@
> > +// SPDX-License-Identifier: MIT
> > +/*
> > + * Copyright © 2024 Intel Corporation
> > + */
> > +
> > +#include <errno.h>
> > +#include <glib.h>
> > +#include <sys/ioctl.h>
> > +#include <sys/time.h>
> > +#include <malloc.h>
> > +#include "drm.h"
> > +#include "igt.h"
> > +#include "igt_syncobj.h"
> > +#include "i915/gem_create.h"
> > +#include "intel_blt.h"
> > +#include "intel_common.h"
> > +#include "intel_mocs.h"
> > +#include "intel_pat.h"
> > +#include "xe/xe_ioctl.h"
> > +#include "xe/xe_query.h"
> > +#include "xe/xe_util.h"
> > +
> > +IGT_TEST_DESCRIPTION("Exercise gen12 blitter with and without flatccs compression on Xe");
>
> cut'n'paste description? :)
Indeed. I'll remove this.
>
> > +
> > +static struct param {
> > + int tiling;
> > + bool write_png;
> > + bool print_bb;
> > + bool print_surface_info;
> > + int width;
> > + int height;
> > + int incdim_width;
> > +} param = {
> > + .tiling = -1,
> > + .write_png = false,
> > + .print_bb = false,
> > + .print_surface_info = false,
> > + .width = 256,
> > + .height = 256,
> > + .incdim_width = 1,
> > +};
> > +
> > +struct intel_buf refs[I915_TILING_64] = {};
>
> I think this should be structured somehow differently as that I915_TILING_64
> already defined as MAX_TILING + n. Though, just now I have no good
> suggestion.
Good catch. I missed array size is too small to keep tiling64 as the
last element. I think adding
#define NUM_REFS (I915_TILING_64 + 1)
should clearly show my intention.
>
> > +
> > +#define PRINT_SURFACE_INFO(name, obj) do { \
> > + if (param.print_surface_info) \
> > + blt_surface_info((name), (obj)); } while (0)
> > +
> > +#define WRITE_PNG(fd, id, name, obj, w, h, bpp) do { \
> > + if (param.write_png) \
> > + blt_surface_to_png((fd), (id), (name), (obj), (w), (h), (bpp)); } while (0)
> > +
> > +const char *help_str =
> > + " -b\tPrint bb\n"
> > + " -s\tPrint surface info\n"
> > + " -p\tWrite PNG\n"
> > + " -W\tWidth (default 256)\n"
> > + " -H\tHeight (default 256)\n"
> > + " -h\tHelp"
> > + ;
> > +
> > +enum copy_fn {
> > + FAST_COPY,
> > + BLOCK_COPY,
> > + RENDER_COPY,
> > +};
> > +
> > +static const char * const copy_fn_name[] = {
> > + [FAST_COPY] = "fast-copy",
> > + [BLOCK_COPY] = "block-copy",
> > + [RENDER_COPY] = "render-copy",
> > +};
> > +
> > +static void detect_blt_tiling(const struct blt_copy_object *buf)
> > +{
> > + bool detected = false;
> > + int i;
> > +
> > + for (i = 0; i < ARRAY_SIZE(refs); i++) {
> > + if (!refs[i].bops)
> > + continue;
> > +
> > + if (!memcmp(buf->ptr, refs[i].ptr, buf->size)) {
> > + detected = true;
> > + break;
> > + }
> > + }
> > +
> > + igt_info("buffer tiling (claimed): %s, detected: %s\n",
> > + blt_tiling_name(buf->tiling),
> > + detected ? blt_tiling_name(i915_tile_to_blt_tile(i)) : "unknown");
> > +}
> > +
> > +static void blt_copy(int fd,
> > + intel_ctx_t *ctx,
> > + const struct intel_execution_engine2 *e,
> > + uint32_t width, uint32_t height,
> > + enum blt_tiling_type tiling,
> > + enum copy_fn fn)
> > +{
> > + struct blt_copy_data blt = {};
> > + struct blt_block_copy_data_ext ext = {}, *pext = &ext;
> > + struct blt_copy_object *src, *dst;
> > + const uint32_t bpp = 32;
> > + uint64_t bb_size;
> > + uint64_t ahnd = intel_allocator_open(fd, ctx->vm, INTEL_ALLOCATOR_RELOC);
> > + uint32_t run_id = tiling;
> > + uint32_t src_region, dst_region;
> > + uint32_t bb;
> > + uint8_t uc_mocs = intel_get_uc_mocs_index(fd);
> > + bool is_xe = is_xe_device(fd);
> > +
> > + if (is_xe) {
> > + bb_size = xe_bb_size(fd, SZ_4K);
> > + src_region = system_memory(fd);
> > + dst_region = vram_if_possible(fd, 0);
> > + bb = xe_bo_create(fd, 0, bb_size, src_region, 0);
> > + } else {
> > + bb_size = SZ_4K;
> > + src_region = REGION_SMEM;
> > + dst_region = gem_has_lmem(fd) ? REGION_LMEM(0) : REGION_SMEM;
> > + igt_assert(__gem_create_in_memory_regions(fd, &bb, &bb_size, src_region) == 0);
> > + }
> > +
> > + if (!blt_uses_extended_block_copy(fd))
> > + pext = NULL;
> > +
> > + blt_copy_init(fd, &blt);
> > +
> > + src = blt_create_object(&blt, src_region, width, height, bpp, uc_mocs,
> > + T_LINEAR, COMPRESSION_DISABLED,
> > + COMPRESSION_TYPE_3D, true);
> > + dst = blt_create_object(&blt, dst_region, width, height, bpp, uc_mocs,
> > + tiling, COMPRESSION_DISABLED,
> > + COMPRESSION_TYPE_3D, true);
> > + PRINT_SURFACE_INFO("src", src);
> > + PRINT_SURFACE_INFO("dst", dst);
> > +
> > + blt_surface_fill_rect(fd, src, width, height);
> > +
> > + blt.color_depth = CD_32bit;
> > + blt.print_bb = param.print_bb;
> > + blt_set_copy_object(&blt.src, src);
> > + blt_set_copy_object(&blt.dst, dst);
> > + blt_set_object_ext(&ext.src, 0, width, height, SURFACE_TYPE_2D);
> > + blt_set_object_ext(&ext.dst, 0, width, height, SURFACE_TYPE_2D);
> > + blt_set_batch(&blt.bb, bb, bb_size, src_region);
> > + if (fn == BLOCK_COPY)
> > + blt_block_copy(fd, ctx, e, ahnd, &blt, pext);
> > + else if (fn == FAST_COPY)
> > + blt_fast_copy(fd, ctx, e, ahnd, &blt);
> > + if (is_xe)
> > + intel_ctx_xe_sync(ctx, true);
> > + else
> > + gem_sync(fd, dst->handle);
> > +
> > + WRITE_PNG(fd, run_id, copy_fn_name[fn], &blt.dst, width, height, bpp);
> > +
> > + detect_blt_tiling(dst);
> > +
> > + /* Politely clean vm */
> > + put_offset(ahnd, src->handle);
> > + put_offset(ahnd, dst->handle);
> > + put_offset(ahnd, bb);
> > + intel_allocator_bind(ahnd, 0, 0);
> > + blt_destroy_object(fd, src);
> > + blt_destroy_object(fd, dst);
> > + gem_close(fd, bb);
> > + put_ahnd(ahnd);
> > +}
> > +
> > +static void detect_render_tiling(struct intel_buf *buf)
> > +{
> > + bool detected = false;
> > + int i;
> > +
> > + intel_buf_device_map(buf, false);
> > +
> > + for (i = 0; i < ARRAY_SIZE(refs); i++) {
> > + if (!refs[i].bops)
> > + continue;
> > +
> > + if (!memcmp(buf->ptr, refs[i].ptr, buf->size)) {
> > + detected = true;
> > + break;
> > + }
> > + }
> > +
> > + intel_buf_unmap(buf);
> > +
> > + igt_info("buffer tiling (claimed): %s, detected: %s\n",
> > + blt_tiling_name(buf->tiling),
> > + detected ? blt_tiling_name(i915_tile_to_blt_tile(i)) : "unknown");
> > +}
> > +
> > +static void scratch_buf_init(struct buf_ops *bops,
> > + struct intel_buf *buf,
> > + int width, int height,
> > + uint32_t tiling,
> > + enum i915_compression compression)
> > +{
> > + int fd = buf_ops_get_fd(bops);
> > + int bpp = 32;
> > +
> > + /*
> > + * We use system memory even if vram is possible because wc mapping
> > + * is extremely slow.
> > + */
> > + intel_buf_init_in_region(bops, buf, width, height, bpp, 0,
> > + tiling, compression,
> > + is_xe_device(fd) ? system_memory(fd) : REGION_SMEM);
> > +
> > + igt_assert(intel_buf_width(buf) == width);
> > + igt_assert(intel_buf_height(buf) == height);
> > +}
> > +
> > +static void render(int fd, uint32_t width, uint32_t height, uint32_t tiling)
> > +{
> > + struct buf_ops *bops;
> > + struct intel_bb *ibb;
> > + struct intel_buf src, dst;
> > + uint32_t devid = intel_get_drm_devid(fd);
> > + igt_render_copyfunc_t render_copy = NULL;
> > +
> > + bops = buf_ops_create(fd);
> > +
> > + igt_debug("%s() gen: %d\n", __func__, intel_gen(devid));
> > +
> > + ibb = intel_bb_create(fd, SZ_4K);
> > +
> > + scratch_buf_init(bops, &src, width, height, I915_TILING_NONE,
> > + I915_COMPRESSION_NONE);
> > + scratch_buf_init(bops, &dst, width, height, tiling,
> > + I915_COMPRESSION_NONE);
> > +
> > + /* Copy reference linear image */
> > + intel_buf_device_map(&src, true);
> > + memcpy(src.ptr, refs[0].ptr, src.bo_size);
> > + intel_buf_unmap(&src);
> > +
> > + render_copy = igt_get_render_copyfunc(devid);
> > + igt_assert(render_copy);
> > +
> > + render_copy(ibb,
> > + &src,
> > + 0, 0, width, height,
> > + &dst,
> > + 0, 0);
> > +
> > + intel_bb_sync(ibb);
> > + intel_bb_destroy(ibb);
> > +
> > + detect_render_tiling(&dst);
> > +
> > + if (param.write_png)
> > + intel_buf_raw_write_to_png(&dst, "render-tile-%s.png",
> > + blt_tiling_name(i915_tile_to_blt_tile(tiling)));
> > +
> > + intel_buf_close(bops, &src);
> > + intel_buf_close(bops, &dst);
> > +
> > + buf_ops_destroy(bops);
> > +}
> > +
> > +static void single_copy(int fd,
> > + uint32_t width, uint32_t height,
> > + int tiling, enum copy_fn fn)
> > +{
> > + /* for potential hangs */
> > + fd = drm_reopen_driver(fd);
> > +
> > + switch (fn) {
> > + case BLOCK_COPY:
> > + case FAST_COPY:
> > + if (is_xe_device(fd)) {
> > + struct drm_xe_engine_class_instance inst = {
> > + .engine_class = DRM_XE_ENGINE_CLASS_COPY,
> > + };
> > + uint32_t vm, exec_queue;
> > + intel_ctx_t *ctx;
> > +
> > + vm = xe_vm_create(fd, 0, 0);
> > + exec_queue = xe_exec_queue_create(fd, vm, &inst, 0);
> > + ctx = intel_ctx_xe(fd, vm, exec_queue, 0, 0, 0);
> > +
> > + blt_copy(fd, ctx, NULL, width, height, tiling, fn);
> > +
> > + xe_exec_queue_destroy(fd, exec_queue);
> > + xe_vm_destroy(fd, vm);
> > + free(ctx);
> > + } else {
> > + const struct intel_execution_engine2 *e;
> > + const intel_ctx_t *ctx;
> > +
> > + ctx = intel_ctx_create_all_physical(fd);
> > + for_each_ctx_engine(fd, ctx, e) {
> > + if (e->class != I915_ENGINE_CLASS_COPY)
> > + continue;
> > +
> > + if (fn == BLOCK_COPY && !gem_engine_can_block_copy(fd, e))
> > + continue;
> > +
> > + blt_copy(fd, (intel_ctx_t *)ctx, e,
> > + width, height, tiling, fn);
> > + break;
> > + }
> > + intel_ctx_destroy(fd, ctx);
> > + }
> > + break;
> > +
> > + case RENDER_COPY:
> > + render(fd, width, height, blt_tile_to_i915_tile(tiling));
> > + break;
> > + }
> > +
> > + drm_close_driver(fd);
> > +}
> > +
> > +static void soft_tile(struct buf_ops *bops, struct intel_buf *buf,
> > + uint32_t width, uint32_t height, uint32_t tiling)
> > +{
> > + struct blt_copy_data blt = {};
> > + struct blt_copy_object *src;
> > + int fd = buf_ops_get_fd(bops);
> > + uint8_t uc_mocs = intel_get_uc_mocs_index(fd);
> > + enum blt_compression_type comp_type = COMPRESSION_TYPE_3D;
> > + uint64_t sys_region;
> > + const int bpp = 32;
> > +
> > + sys_region = is_xe_device(fd) ? system_memory(fd) : REGION_SMEM;
> > + blt_copy_init(fd, &blt);
> > + src = blt_create_object(&blt, sys_region, width, height, bpp, uc_mocs,
> > + T_LINEAR, COMPRESSION_DISABLED, comp_type, true);
> > + blt_surface_fill_rect(fd, src, width, height);
> > +
> > + intel_buf_init(bops, buf, width, height, bpp, 0, tiling, false);
> > + buf_ops_set_software_tiling(bops, tiling, true);
> > +
> > + linear_to_intel_buf(bops, buf, src->ptr);
> > +
> > + if (param.write_png)
> > + intel_buf_raw_write_to_png(buf, "reference-tile-%s.png",
> > + blt_tiling_name(i915_tile_to_blt_tile(tiling)));
> > +}
> > +
> > +static bool try_tile[] = {
> > + [I915_TILING_NONE] = true,
> > + [I915_TILING_X] = true,
> > + [I915_TILING_Y] = true,
> > + [I915_TILING_4] = true,
> > + [I915_TILING_Yf] = true,
> > + [I915_TILING_64] = false,
> > +};
>
> I think you have hole in this list? You don't have Ys here when you'll be
> missing I915_TILING_LAST + 3 while you do have I915_TILING_LAST + 4
>
> Maybe create struct to encapsulate these and the use list of those structs?
> Then there would be no holes.
Hole is not a problem as this array is filled with false (static)
on the compilation time (take a look Ys is in the iteration during
reference surface creation). I've added I915_TILING_64 to clearly show
my intention that tile64 is not supported in this version yet.
But setting explicit size to this array is a good idea as the compiler
will protect against using out of boundary access.
So if you don't mind I would keep this array. It has direct tile -> ref
mapping and it's easy to read imo.
Thank you for the time to review this. I'm going to address your and
Kamil need and respin.
--
Zbigniew
>
> > +
> > +int main(int argc, char *argv[])
> > +{
> > + struct buf_ops *bops;
> > + int fd, i, fn, opt;
> > +
> > + while ((opt = getopt(argc, argv, "bpsW:H:h")) != -1) {
> > + switch (opt) {
> > + case 'b':
> > + param.print_bb = true;
> > + break;
> > +
> > + case 'p':
> > + param.write_png = true;
> > + break;
> > +
> > + case 's':
> > + param.print_surface_info = true;
> > + break;
> > +
> > + case 'W':
> > + param.width = atoi(optarg);
> > + break;
> > +
> > + case 'H':
> > + param.height = atoi(optarg);
> > + break;
> > +
> > + case 'h':
> > + igt_info("%s\n", help_str);
> > + exit(0);
> > + break;
> > +
> > + default:
> > + break;
> > + }
> > + }
> > +
> > + fd = drm_open_driver(DRIVER_INTEL | DRIVER_XE);
> > + if (is_xe_device(fd))
> > + xe_device_get(fd);
> > +
> > + bops = buf_ops_create(fd);
> > +
> > + for (i = 0; i <= I915_TILING_64; i++) {
>
> why not ARRAY_SIZE() ?
>
> > + igt_info("Building reference tile[%-7s] = %s\n",
> > + blt_tiling_name(i915_tile_to_blt_tile(i)),
> > + try_tile[i] ? "yes" : "no");
> > + if (try_tile[i]) {
> > + soft_tile(bops, &refs[i],
> > + param.width, param.height, i);
> > + intel_buf_device_map(&refs[i], false);
> > + }
> > + }
> > +
> > + for (fn = FAST_COPY; fn <= RENDER_COPY; fn++) {
> > + if (fn == FAST_COPY && !blt_has_fast_copy(fd))
> > + continue;
> > +
> > + if (fn == BLOCK_COPY && !blt_has_block_copy(fd))
> > + continue;
> > +
> > + igt_info("[%s]:\n", copy_fn_name[fn]);
> > +
> > + for (i = 0; i <= I915_TILING_64; i++)
> > + if (try_tile[i])
> > + single_copy(fd, param.width, param.height,
> > + i915_tile_to_blt_tile(i), fn);
> > + }
> > +
> > + for (i = 0; i <= I915_TILING_64; i++) {
> > + if (try_tile[i])
> > + intel_buf_unmap(&refs[i]);
> > + }
> > +
> > + if (is_xe_device(fd))
> > + xe_device_put(fd);
> > + close(fd);
> > +}
> > diff --git a/tools/meson.build b/tools/meson.build
> > index ac79d8b584..1656355eef 100644
> > --- a/tools/meson.build
> > +++ b/tools/meson.build
> > @@ -36,6 +36,7 @@ tools_progs = [
> > 'intel_reg_checker',
> > 'intel_residency',
> > 'intel_stepping',
> > + 'intel_tiling_detect',
> > 'intel_vbt_decode',
> > 'intel_watermark',
> > 'intel_gem_info',
>
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH i-g-t 12/12] tools/intel_tiling_detect: Introduce tiling detection tool
2024-06-17 19:46 ` Kamil Konieczny
@ 2024-06-18 5:15 ` Zbigniew Kempczyński
0 siblings, 0 replies; 32+ messages in thread
From: Zbigniew Kempczyński @ 2024-06-18 5:15 UTC (permalink / raw)
To: Kamil Konieczny, igt-dev, Juha-Pekka Heikkila
On Mon, Jun 17, 2024 at 09:46:20PM +0200, Kamil Konieczny wrote:
> Hi Zbigniew,
> On 2024-05-27 at 09:33:45 +0200, Zbigniew Kempczyński wrote:
> > In some tests we're incorrectly assumming we get requested tiling.
> > In blt library we defined available blitter and render tilings for
> > defined platforms to avoid being wrong and allowing iterators to walk
> > over proper tilings. Unfortunately we're not sure what's the real
> > tiling underneath as we're not validating its content.
> >
> > Instead of blindly trusting the documentation as it might be wrong
> > or vague lets introduce tiling detection tool for Intel platforms.
> > Currently it supports detecting linear/X/Y/Yf/Ys/4 tilings (tile64
> > is queued to be added) in fast-copy, block-copy and render-copy
> > commands.
> >
> > Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> > Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> > ---
> > tools/intel_tiling_detect.c | 432 ++++++++++++++++++++++++++++++++++++
> > tools/meson.build | 1 +
> > 2 files changed, 433 insertions(+)
> > create mode 100644 tools/intel_tiling_detect.c
> >
> > diff --git a/tools/intel_tiling_detect.c b/tools/intel_tiling_detect.c
> > new file mode 100644
> > index 0000000000..ea5ea5eae6
> > --- /dev/null
> > +++ b/tools/intel_tiling_detect.c
> > @@ -0,0 +1,432 @@
> > +// SPDX-License-Identifier: MIT
> > +/*
> > + * Copyright © 2024 Intel Corporation
> > + */
> > +
> > +#include <errno.h>
> > +#include <glib.h>
> > +#include <sys/ioctl.h>
> > +#include <sys/time.h>
> > +#include <malloc.h>
> -------------^
> Sort it alphabetically.
Ok.
>
> Add newline here.
Why? Grouped looks better imo.
>
> > +#include "drm.h"
> > +#include "igt.h"
> > +#include "igt_syncobj.h"
> > +#include "i915/gem_create.h"
> -------------^^
> Sort it alphabetically.
Ok.
You've motivated me to shrink this list to the minimum required.
I'll respin with shorter list.
>
> > +#include "intel_blt.h"
> > +#include "intel_common.h"
> > +#include "intel_mocs.h"
> > +#include "intel_pat.h"
> > +#include "xe/xe_ioctl.h"
> > +#include "xe/xe_query.h"
> > +#include "xe/xe_util.h"
> > +
> > +IGT_TEST_DESCRIPTION("Exercise gen12 blitter with and without flatccs compression on Xe");
> > +
> > +static struct param {
> > + int tiling;
> > + bool write_png;
> > + bool print_bb;
> > + bool print_surface_info;
> > + int width;
> > + int height;
> > + int incdim_width;
> > +} param = {
> > + .tiling = -1,
> > + .write_png = false,
> > + .print_bb = false,
> > + .print_surface_info = false,
> > + .width = 256,
> > + .height = 256,
> > + .incdim_width = 1,
> > +};
> > +
> > +struct intel_buf refs[I915_TILING_64] = {};
> > +
> > +#define PRINT_SURFACE_INFO(name, obj) do { \
> > + if (param.print_surface_info) \
> > + blt_surface_info((name), (obj)); } while (0)
> > +
> > +#define WRITE_PNG(fd, id, name, obj, w, h, bpp) do { \
> > + if (param.write_png) \
> > + blt_surface_to_png((fd), (id), (name), (obj), (w), (h), (bpp)); } while (0)
> > +
> > +const char *help_str =
> > + " -b\tPrint bb\n"
> > + " -s\tPrint surface info\n"
> > + " -p\tWrite PNG\n"
> > + " -W\tWidth (default 256)\n"
> > + " -H\tHeight (default 256)\n"
> > + " -h\tHelp"
> ---------------^
> No final '\n'?
Printing help is with "\n" added, but that's no problem - if you
prefer \n in help_str I'll add it.
>
> > + ;
>
> Could you also add some examples for usage?
> Do you allow to specify which /dev/driN device will be tested?
> Or maybe just allow user to specify path for device?
v1 didn't allow to specify device, but it's a good idea to add it.
I've added '-d path' to select the device.
Regarding examples - I think help is useful and name of the tool
is self explanatory.
Thanks for the review.
>
> Regards,
> Kamil
>
> > +
> > +enum copy_fn {
> > + FAST_COPY,
> > + BLOCK_COPY,
> > + RENDER_COPY,
> > +};
> > +
> > +static const char * const copy_fn_name[] = {
> > + [FAST_COPY] = "fast-copy",
> > + [BLOCK_COPY] = "block-copy",
> > + [RENDER_COPY] = "render-copy",
> > +};
> > +
> > +static void detect_blt_tiling(const struct blt_copy_object *buf)
> > +{
> > + bool detected = false;
> > + int i;
> > +
> > + for (i = 0; i < ARRAY_SIZE(refs); i++) {
> > + if (!refs[i].bops)
> > + continue;
> > +
> > + if (!memcmp(buf->ptr, refs[i].ptr, buf->size)) {
> > + detected = true;
> > + break;
> > + }
> > + }
> > +
> > + igt_info("buffer tiling (claimed): %s, detected: %s\n",
> > + blt_tiling_name(buf->tiling),
> > + detected ? blt_tiling_name(i915_tile_to_blt_tile(i)) : "unknown");
> > +}
> > +
> > +static void blt_copy(int fd,
> > + intel_ctx_t *ctx,
> > + const struct intel_execution_engine2 *e,
> > + uint32_t width, uint32_t height,
> > + enum blt_tiling_type tiling,
> > + enum copy_fn fn)
> > +{
> > + struct blt_copy_data blt = {};
> > + struct blt_block_copy_data_ext ext = {}, *pext = &ext;
> > + struct blt_copy_object *src, *dst;
> > + const uint32_t bpp = 32;
> > + uint64_t bb_size;
> > + uint64_t ahnd = intel_allocator_open(fd, ctx->vm, INTEL_ALLOCATOR_RELOC);
> > + uint32_t run_id = tiling;
> > + uint32_t src_region, dst_region;
> > + uint32_t bb;
> > + uint8_t uc_mocs = intel_get_uc_mocs_index(fd);
> > + bool is_xe = is_xe_device(fd);
> > +
> > + if (is_xe) {
> > + bb_size = xe_bb_size(fd, SZ_4K);
> > + src_region = system_memory(fd);
> > + dst_region = vram_if_possible(fd, 0);
> > + bb = xe_bo_create(fd, 0, bb_size, src_region, 0);
> > + } else {
> > + bb_size = SZ_4K;
> > + src_region = REGION_SMEM;
> > + dst_region = gem_has_lmem(fd) ? REGION_LMEM(0) : REGION_SMEM;
> > + igt_assert(__gem_create_in_memory_regions(fd, &bb, &bb_size, src_region) == 0);
> > + }
> > +
> > + if (!blt_uses_extended_block_copy(fd))
> > + pext = NULL;
> > +
> > + blt_copy_init(fd, &blt);
> > +
> > + src = blt_create_object(&blt, src_region, width, height, bpp, uc_mocs,
> > + T_LINEAR, COMPRESSION_DISABLED,
> > + COMPRESSION_TYPE_3D, true);
> > + dst = blt_create_object(&blt, dst_region, width, height, bpp, uc_mocs,
> > + tiling, COMPRESSION_DISABLED,
> > + COMPRESSION_TYPE_3D, true);
> > + PRINT_SURFACE_INFO("src", src);
> > + PRINT_SURFACE_INFO("dst", dst);
> > +
> > + blt_surface_fill_rect(fd, src, width, height);
> > +
> > + blt.color_depth = CD_32bit;
> > + blt.print_bb = param.print_bb;
> > + blt_set_copy_object(&blt.src, src);
> > + blt_set_copy_object(&blt.dst, dst);
> > + blt_set_object_ext(&ext.src, 0, width, height, SURFACE_TYPE_2D);
> > + blt_set_object_ext(&ext.dst, 0, width, height, SURFACE_TYPE_2D);
> > + blt_set_batch(&blt.bb, bb, bb_size, src_region);
> > + if (fn == BLOCK_COPY)
> > + blt_block_copy(fd, ctx, e, ahnd, &blt, pext);
> > + else if (fn == FAST_COPY)
> > + blt_fast_copy(fd, ctx, e, ahnd, &blt);
> > + if (is_xe)
> > + intel_ctx_xe_sync(ctx, true);
> > + else
> > + gem_sync(fd, dst->handle);
> > +
> > + WRITE_PNG(fd, run_id, copy_fn_name[fn], &blt.dst, width, height, bpp);
> > +
> > + detect_blt_tiling(dst);
> > +
> > + /* Politely clean vm */
> > + put_offset(ahnd, src->handle);
> > + put_offset(ahnd, dst->handle);
> > + put_offset(ahnd, bb);
> > + intel_allocator_bind(ahnd, 0, 0);
> > + blt_destroy_object(fd, src);
> > + blt_destroy_object(fd, dst);
> > + gem_close(fd, bb);
> > + put_ahnd(ahnd);
> > +}
> > +
> > +static void detect_render_tiling(struct intel_buf *buf)
> > +{
> > + bool detected = false;
> > + int i;
> > +
> > + intel_buf_device_map(buf, false);
> > +
> > + for (i = 0; i < ARRAY_SIZE(refs); i++) {
> > + if (!refs[i].bops)
> > + continue;
> > +
> > + if (!memcmp(buf->ptr, refs[i].ptr, buf->size)) {
> > + detected = true;
> > + break;
> > + }
> > + }
> > +
> > + intel_buf_unmap(buf);
> > +
> > + igt_info("buffer tiling (claimed): %s, detected: %s\n",
> > + blt_tiling_name(buf->tiling),
> > + detected ? blt_tiling_name(i915_tile_to_blt_tile(i)) : "unknown");
> > +}
> > +
> > +static void scratch_buf_init(struct buf_ops *bops,
> > + struct intel_buf *buf,
> > + int width, int height,
> > + uint32_t tiling,
> > + enum i915_compression compression)
> > +{
> > + int fd = buf_ops_get_fd(bops);
> > + int bpp = 32;
> > +
> > + /*
> > + * We use system memory even if vram is possible because wc mapping
> > + * is extremely slow.
> > + */
> > + intel_buf_init_in_region(bops, buf, width, height, bpp, 0,
> > + tiling, compression,
> > + is_xe_device(fd) ? system_memory(fd) : REGION_SMEM);
> > +
> > + igt_assert(intel_buf_width(buf) == width);
> > + igt_assert(intel_buf_height(buf) == height);
> > +}
> > +
> > +static void render(int fd, uint32_t width, uint32_t height, uint32_t tiling)
> > +{
> > + struct buf_ops *bops;
> > + struct intel_bb *ibb;
> > + struct intel_buf src, dst;
> > + uint32_t devid = intel_get_drm_devid(fd);
> > + igt_render_copyfunc_t render_copy = NULL;
> > +
> > + bops = buf_ops_create(fd);
> > +
> > + igt_debug("%s() gen: %d\n", __func__, intel_gen(devid));
> > +
> > + ibb = intel_bb_create(fd, SZ_4K);
> > +
> > + scratch_buf_init(bops, &src, width, height, I915_TILING_NONE,
> > + I915_COMPRESSION_NONE);
> > + scratch_buf_init(bops, &dst, width, height, tiling,
> > + I915_COMPRESSION_NONE);
> > +
> > + /* Copy reference linear image */
> > + intel_buf_device_map(&src, true);
> > + memcpy(src.ptr, refs[0].ptr, src.bo_size);
> > + intel_buf_unmap(&src);
> > +
> > + render_copy = igt_get_render_copyfunc(devid);
> > + igt_assert(render_copy);
> > +
> > + render_copy(ibb,
> > + &src,
> > + 0, 0, width, height,
> > + &dst,
> > + 0, 0);
> > +
> > + intel_bb_sync(ibb);
> > + intel_bb_destroy(ibb);
> > +
> > + detect_render_tiling(&dst);
> > +
> > + if (param.write_png)
> > + intel_buf_raw_write_to_png(&dst, "render-tile-%s.png",
> > + blt_tiling_name(i915_tile_to_blt_tile(tiling)));
> > +
> > + intel_buf_close(bops, &src);
> > + intel_buf_close(bops, &dst);
> > +
> > + buf_ops_destroy(bops);
> > +}
> > +
> > +static void single_copy(int fd,
> > + uint32_t width, uint32_t height,
> > + int tiling, enum copy_fn fn)
> > +{
> > + /* for potential hangs */
> > + fd = drm_reopen_driver(fd);
> > +
> > + switch (fn) {
> > + case BLOCK_COPY:
> > + case FAST_COPY:
> > + if (is_xe_device(fd)) {
> > + struct drm_xe_engine_class_instance inst = {
> > + .engine_class = DRM_XE_ENGINE_CLASS_COPY,
> > + };
> > + uint32_t vm, exec_queue;
> > + intel_ctx_t *ctx;
> > +
> > + vm = xe_vm_create(fd, 0, 0);
> > + exec_queue = xe_exec_queue_create(fd, vm, &inst, 0);
> > + ctx = intel_ctx_xe(fd, vm, exec_queue, 0, 0, 0);
> > +
> > + blt_copy(fd, ctx, NULL, width, height, tiling, fn);
> > +
> > + xe_exec_queue_destroy(fd, exec_queue);
> > + xe_vm_destroy(fd, vm);
> > + free(ctx);
> > + } else {
> > + const struct intel_execution_engine2 *e;
> > + const intel_ctx_t *ctx;
> > +
> > + ctx = intel_ctx_create_all_physical(fd);
> > + for_each_ctx_engine(fd, ctx, e) {
> > + if (e->class != I915_ENGINE_CLASS_COPY)
> > + continue;
> > +
> > + if (fn == BLOCK_COPY && !gem_engine_can_block_copy(fd, e))
> > + continue;
> > +
> > + blt_copy(fd, (intel_ctx_t *)ctx, e,
> > + width, height, tiling, fn);
> > + break;
> > + }
> > + intel_ctx_destroy(fd, ctx);
> > + }
> > + break;
> > +
> > + case RENDER_COPY:
> > + render(fd, width, height, blt_tile_to_i915_tile(tiling));
> > + break;
> > + }
> > +
> > + drm_close_driver(fd);
> > +}
> > +
> > +static void soft_tile(struct buf_ops *bops, struct intel_buf *buf,
> > + uint32_t width, uint32_t height, uint32_t tiling)
> > +{
> > + struct blt_copy_data blt = {};
> > + struct blt_copy_object *src;
> > + int fd = buf_ops_get_fd(bops);
> > + uint8_t uc_mocs = intel_get_uc_mocs_index(fd);
> > + enum blt_compression_type comp_type = COMPRESSION_TYPE_3D;
> > + uint64_t sys_region;
> > + const int bpp = 32;
> > +
> > + sys_region = is_xe_device(fd) ? system_memory(fd) : REGION_SMEM;
> > + blt_copy_init(fd, &blt);
> > + src = blt_create_object(&blt, sys_region, width, height, bpp, uc_mocs,
> > + T_LINEAR, COMPRESSION_DISABLED, comp_type, true);
> > + blt_surface_fill_rect(fd, src, width, height);
> > +
> > + intel_buf_init(bops, buf, width, height, bpp, 0, tiling, false);
> > + buf_ops_set_software_tiling(bops, tiling, true);
> > +
> > + linear_to_intel_buf(bops, buf, src->ptr);
> > +
> > + if (param.write_png)
> > + intel_buf_raw_write_to_png(buf, "reference-tile-%s.png",
> > + blt_tiling_name(i915_tile_to_blt_tile(tiling)));
> > +}
> > +
> > +static bool try_tile[] = {
> > + [I915_TILING_NONE] = true,
> > + [I915_TILING_X] = true,
> > + [I915_TILING_Y] = true,
> > + [I915_TILING_4] = true,
> > + [I915_TILING_Yf] = true,
> > + [I915_TILING_64] = false,
> > +};
> > +
> > +int main(int argc, char *argv[])
> > +{
> > + struct buf_ops *bops;
> > + int fd, i, fn, opt;
> > +
> > + while ((opt = getopt(argc, argv, "bpsW:H:h")) != -1) {
> > + switch (opt) {
> > + case 'b':
> > + param.print_bb = true;
> > + break;
> > +
> > + case 'p':
> > + param.write_png = true;
> > + break;
> > +
> > + case 's':
> > + param.print_surface_info = true;
> > + break;
> > +
> > + case 'W':
> > + param.width = atoi(optarg);
> > + break;
> > +
> > + case 'H':
> > + param.height = atoi(optarg);
> > + break;
> > +
> > + case 'h':
> > + igt_info("%s\n", help_str);
> > + exit(0);
> > + break;
> > +
> > + default:
> > + break;
> > + }
> > + }
> > +
> > + fd = drm_open_driver(DRIVER_INTEL | DRIVER_XE);
> > + if (is_xe_device(fd))
> > + xe_device_get(fd);
> > +
> > + bops = buf_ops_create(fd);
> > +
> > + for (i = 0; i <= I915_TILING_64; i++) {
> > + igt_info("Building reference tile[%-7s] = %s\n",
> > + blt_tiling_name(i915_tile_to_blt_tile(i)),
> > + try_tile[i] ? "yes" : "no");
> > + if (try_tile[i]) {
> > + soft_tile(bops, &refs[i],
> > + param.width, param.height, i);
> > + intel_buf_device_map(&refs[i], false);
> > + }
> > + }
> > +
> > + for (fn = FAST_COPY; fn <= RENDER_COPY; fn++) {
> > + if (fn == FAST_COPY && !blt_has_fast_copy(fd))
> > + continue;
> > +
> > + if (fn == BLOCK_COPY && !blt_has_block_copy(fd))
> > + continue;
> > +
> > + igt_info("[%s]:\n", copy_fn_name[fn]);
> > +
> > + for (i = 0; i <= I915_TILING_64; i++)
> > + if (try_tile[i])
> > + single_copy(fd, param.width, param.height,
> > + i915_tile_to_blt_tile(i), fn);
> > + }
> > +
> > + for (i = 0; i <= I915_TILING_64; i++) {
> > + if (try_tile[i])
> > + intel_buf_unmap(&refs[i]);
> > + }
> > +
> > + if (is_xe_device(fd))
> > + xe_device_put(fd);
> > + close(fd);
> > +}
> > diff --git a/tools/meson.build b/tools/meson.build
> > index ac79d8b584..1656355eef 100644
> > --- a/tools/meson.build
> > +++ b/tools/meson.build
> > @@ -36,6 +36,7 @@ tools_progs = [
> > 'intel_reg_checker',
> > 'intel_residency',
> > 'intel_stepping',
> > + 'intel_tiling_detect',
> > 'intel_vbt_decode',
> > 'intel_watermark',
> > 'intel_gem_info',
> > --
> > 2.34.1
> >
^ permalink raw reply [flat|nested] 32+ messages in thread
end of thread, other threads:[~2024-06-18 5:15 UTC | newest]
Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-27 7:33 [PATCH i-g-t 00/12] Introduce intel_tiling_detect tool Zbigniew Kempczyński
2024-05-27 7:33 ` [PATCH i-g-t 01/12] lib/intel_bufops: Fix offset returned for Tile4 Zbigniew Kempczyński
2024-06-03 7:26 ` Juha-Pekka Heikkila
2024-05-27 7:33 ` [PATCH i-g-t 02/12] lib/intel_bufops: Fix mapping/unmapping for i915 and xe Zbigniew Kempczyński
2024-06-03 7:31 ` Juha-Pekka Heikkila
2024-05-27 7:33 ` [PATCH i-g-t 03/12] lib/intel_bufops: Add linear-to-none copy path Zbigniew Kempczyński
2024-06-17 11:16 ` Juha-Pekka Heikkila
2024-05-27 7:33 ` [PATCH i-g-t 04/12] lib/intel_bufops: Add Tile4 in linear_to and to_linear helpers Zbigniew Kempczyński
2024-06-17 11:16 ` Juha-Pekka Heikkila
2024-05-27 7:33 ` [PATCH i-g-t 05/12] lib/intel_bufops: Add Yf tiling Zbigniew Kempczyński
2024-06-17 11:16 ` Juha-Pekka Heikkila
2024-05-27 7:33 ` [PATCH i-g-t 06/12] lib/intel_blt: Add Yf tiling in block-copy Zbigniew Kempczyński
2024-06-17 11:16 ` Juha-Pekka Heikkila
2024-05-27 7:33 ` [PATCH i-g-t 07/12] lib/intel_bufops: Add Ys tiling in linear_to and to_linear path Zbigniew Kempczyński
2024-06-17 11:16 ` Juha-Pekka Heikkila
2024-05-27 7:33 ` [PATCH i-g-t 08/12] lib/intel_bufops: Drop unnecessary Tile4 function assignment Zbigniew Kempczyński
2024-06-17 11:16 ` Juha-Pekka Heikkila
2024-05-27 7:33 ` [PATCH i-g-t 09/12] lib/intel_bufops: Preparation for adding software tiling for Tile64 Zbigniew Kempczyński
2024-06-17 11:17 ` Juha-Pekka Heikkila
2024-05-27 7:33 ` [PATCH i-g-t 10/12] lib/intel_bufops: Drop Tile4 swizzling Zbigniew Kempczyński
2024-06-17 11:17 ` Juha-Pekka Heikkila
2024-05-27 7:33 ` [PATCH i-g-t 11/12] lib/intel_bufops: Don't disable x and y on platforms without swizzling Zbigniew Kempczyński
2024-06-17 16:43 ` Juha-Pekka Heikkila
2024-05-27 7:33 ` [PATCH i-g-t 12/12] tools/intel_tiling_detect: Introduce tiling detection tool Zbigniew Kempczyński
2024-06-17 19:21 ` Juha-Pekka Heikkila
2024-06-18 4:51 ` Zbigniew Kempczyński
2024-06-17 19:46 ` Kamil Konieczny
2024-06-18 5:15 ` Zbigniew Kempczyński
2024-05-27 18:40 ` ✓ Fi.CI.BAT: success for Introduce intel_tiling_detect tool Patchwork
2024-05-27 18:45 ` ✓ CI.xeBAT: " Patchwork
2024-05-28 7:29 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-05-28 7:46 ` Zbigniew Kempczyński
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox