* [igt-dev] [PATCH i-g-t v4 0/3] GEN12 render decompression
@ 2019-11-11 11:00 Mika Kahola
2019-11-11 11:00 ` [igt-dev] [PATCH i-g-t v4 1/3] Format modifier for Intel Gen-12 render compression Mika Kahola
` (4 more replies)
0 siblings, 5 replies; 14+ messages in thread
From: Mika Kahola @ 2019-11-11 11:00 UTC (permalink / raw)
To: igt-dev
Gen-12 render decompression is supported with Y-tiled main surface.
The patch series introduces CCS support for IGT tests.
This patch series requires Imre's series
https://patchwork.freedesktop.org/series/68890/
v2: Added new subtests for each format modifier.
v3: Add IGT description for each subtest (GitLab)
v4: Fix kms_ccs errornouse subtest execution and listing
Mika Kahola (3):
Format modifier for Intel Gen-12 render compression
lib/igt_fb.c: Update tile sizes for GEN12 CCS
tests/kms_ccs: Add GEN12 CCS render compression format modifiers
include/drm-uapi/drm_fourcc.h | 1 +
lib/igt_fb.c | 34 ++++++++++-
lib/ioctl_wrappers.h | 1 +
tests/kms_ccs.c | 110 ++++++++++++++++++++--------------
4 files changed, 99 insertions(+), 47 deletions(-)
--
2.17.1
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 14+ messages in thread
* [igt-dev] [PATCH i-g-t v4 1/3] Format modifier for Intel Gen-12 render compression
2019-11-11 11:00 [igt-dev] [PATCH i-g-t v4 0/3] GEN12 render decompression Mika Kahola
@ 2019-11-11 11:00 ` Mika Kahola
2019-11-11 11:08 ` Petri Latvala
2019-11-11 11:00 ` [igt-dev] [PATCH i-g-t v4 2/3] lib/igt_fb.c: Update tile sizes for GEN12 CCS Mika Kahola
` (3 subsequent siblings)
4 siblings, 1 reply; 14+ messages in thread
From: Mika Kahola @ 2019-11-11 11:00 UTC (permalink / raw)
To: igt-dev
Gen-12 has a new compression format for render compression.
For this, a new modifier is needed to indicate that.
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
---
include/drm-uapi/drm_fourcc.h | 1 +
lib/ioctl_wrappers.h | 1 +
2 files changed, 2 insertions(+)
diff --git a/include/drm-uapi/drm_fourcc.h b/include/drm-uapi/drm_fourcc.h
index 3feeaa3f..b93eb2d4 100644
--- a/include/drm-uapi/drm_fourcc.h
+++ b/include/drm-uapi/drm_fourcc.h
@@ -409,6 +409,7 @@ extern "C" {
*/
#define I915_FORMAT_MOD_Y_TILED_CCS fourcc_mod_code(INTEL, 4)
#define I915_FORMAT_MOD_Yf_TILED_CCS fourcc_mod_code(INTEL, 5)
+#define I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS fourcc_mod_code(INTEL, 6)
/*
* Tiled, NV12MT, grouped in 64 (pixels) x 32 (lines) -sized macroblocks
diff --git a/lib/ioctl_wrappers.h b/lib/ioctl_wrappers.h
index 03211c97..f2412d78 100644
--- a/lib/ioctl_wrappers.h
+++ b/lib/ioctl_wrappers.h
@@ -200,6 +200,7 @@ struct local_drm_mode_fb_cmd2 {
#define LOCAL_I915_FORMAT_MOD_Yf_TILED local_fourcc_mod_code(INTEL, 3)
#define LOCAL_I915_FORMAT_MOD_Y_TILED_CCS local_fourcc_mod_code(INTEL, 4)
#define LOCAL_I915_FORMAT_MOD_Yf_TILED_CCS local_fourcc_mod_code(INTEL, 5)
+#define LOCAL_I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS fourcc_mod_code(INTEL, 6)
#define LOCAL_DRM_IOCTL_MODE_ADDFB2 DRM_IOWR(0xB8, \
struct local_drm_mode_fb_cmd2)
--
2.17.1
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [igt-dev] [PATCH i-g-t v4 2/3] lib/igt_fb.c: Update tile sizes for GEN12 CCS
2019-11-11 11:00 [igt-dev] [PATCH i-g-t v4 0/3] GEN12 render decompression Mika Kahola
2019-11-11 11:00 ` [igt-dev] [PATCH i-g-t v4 1/3] Format modifier for Intel Gen-12 render compression Mika Kahola
@ 2019-11-11 11:00 ` Mika Kahola
2019-11-11 15:22 ` Imre Deak
2019-11-11 11:00 ` [igt-dev] [PATCH i-g-t v4 3/3] tests/kms_ccs: Add GEN12 CCS render compression format modifiers Mika Kahola
` (2 subsequent siblings)
4 siblings, 1 reply; 14+ messages in thread
From: Mika Kahola @ 2019-11-11 11:00 UTC (permalink / raw)
To: igt-dev
Update tile sizes for GEN12 CCS.
BSpec: 47709
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
---
lib/igt_fb.c | 34 ++++++++++++++++++++++++++++++++--
1 file changed, 32 insertions(+), 2 deletions(-)
diff --git a/lib/igt_fb.c b/lib/igt_fb.c
index 4adca967..77030d49 100644
--- a/lib/igt_fb.c
+++ b/lib/igt_fb.c
@@ -413,6 +413,33 @@ void igt_get_fb_tile_size(int fd, uint64_t modifier, int fb_bpp,
*height_ret = 32;
}
break;
+ case LOCAL_I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS:
+ igt_require_intel(fd);
+ switch (fb_bpp) {
+ case 8:
+ *width_ret = 512;
+ *height_ret = 32;
+ break;
+ case 16:
+ *width_ret = 256;
+ *height_ret = 32;
+ break;
+ case 32:
+ *width_ret = 128;
+ *height_ret = 32;
+ break;
+ case 64:
+ *width_ret = 64;
+ *height_ret = 32;
+ break;
+ case 128:
+ *width_ret = 32;
+ *height_ret = 32;
+ break;
+ default:
+ igt_assert(false);
+ }
+ break;
case LOCAL_I915_FORMAT_MOD_Yf_TILED:
case LOCAL_I915_FORMAT_MOD_Yf_TILED_CCS:
igt_require_intel(fd);
@@ -467,8 +494,10 @@ void igt_get_fb_tile_size(int fd, uint64_t modifier, int fb_bpp,
static bool is_ccs_modifier(uint64_t modifier)
{
- return modifier == LOCAL_I915_FORMAT_MOD_Y_TILED_CCS ||
- modifier == LOCAL_I915_FORMAT_MOD_Yf_TILED_CCS;
+
+ return modifier == I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS ||
+ modifier == I915_FORMAT_MOD_Y_TILED_CCS ||
+ modifier == I915_FORMAT_MOD_Yf_TILED_CCS;
}
static unsigned fb_plane_width(const struct igt_fb *fb, int plane)
@@ -687,6 +716,7 @@ uint64_t igt_fb_mod_to_tiling(uint64_t modifier)
return I915_TILING_X;
case LOCAL_I915_FORMAT_MOD_Y_TILED:
case LOCAL_I915_FORMAT_MOD_Y_TILED_CCS:
+ case LOCAL_I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS:
return I915_TILING_Y;
case LOCAL_I915_FORMAT_MOD_Yf_TILED:
case LOCAL_I915_FORMAT_MOD_Yf_TILED_CCS:
--
2.17.1
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [igt-dev] [PATCH i-g-t v4 3/3] tests/kms_ccs: Add GEN12 CCS render compression format modifiers
2019-11-11 11:00 [igt-dev] [PATCH i-g-t v4 0/3] GEN12 render decompression Mika Kahola
2019-11-11 11:00 ` [igt-dev] [PATCH i-g-t v4 1/3] Format modifier for Intel Gen-12 render compression Mika Kahola
2019-11-11 11:00 ` [igt-dev] [PATCH i-g-t v4 2/3] lib/igt_fb.c: Update tile sizes for GEN12 CCS Mika Kahola
@ 2019-11-11 11:00 ` Mika Kahola
2019-11-11 12:24 ` [igt-dev] ✓ Fi.CI.BAT: success for GEN12 render decompression (rev4) Patchwork
2019-11-11 22:25 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
4 siblings, 0 replies; 14+ messages in thread
From: Mika Kahola @ 2019-11-11 11:00 UTC (permalink / raw)
To: igt-dev
Add GEN12 CCS format modifiers for render compression. Render
compression is not supported for 90/270 rotation.
v2: Added new subtests for each format modifier.
v3: Add IGT description for each subtest (GitLab)
v4: Fix errorneous subtest execution and listing
Bspec: 49252
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
---
tests/kms_ccs.c | 110 ++++++++++++++++++++++++++++--------------------
1 file changed, 65 insertions(+), 45 deletions(-)
diff --git a/tests/kms_ccs.c b/tests/kms_ccs.c
index 1ce66cde..41916bb1 100644
--- a/tests/kms_ccs.c
+++ b/tests/kms_ccs.c
@@ -70,10 +70,14 @@ static const struct {
{0.0, 1.0, 0.0}
};
-static const uint64_t ccs_modifiers[] = {
- LOCAL_I915_FORMAT_MOD_Y_TILED_CCS,
- LOCAL_I915_FORMAT_MOD_Yf_TILED_CCS,
-};
+static const struct {
+ uint64_t modifier;
+ char name[8];
+} ccs_modifiers[3] = {
+ {LOCAL_I915_FORMAT_MOD_Y_TILED_CCS, "Y"},
+ {LOCAL_I915_FORMAT_MOD_Yf_TILED_CCS, "Yf"},
+ {LOCAL_I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS, "Y-rc"},
+ };
/*
* Limit maximum used sprite plane width so this test will not mistakenly
@@ -300,17 +304,14 @@ static int test_ccs(data_t *data)
static int __test_output(data_t *data)
{
igt_display_t *display = &data->display;
- int i, valid_tests = 0;
+ int valid_tests = 0;
data->output = igt_get_single_output_for_pipe(display, data->pipe);
igt_require(data->output);
igt_output_set_pipe(data->output, data->pipe);
- for (i = 0; i < ARRAY_SIZE(ccs_modifiers); i++) {
- data->ccs_modifier = ccs_modifiers[i];
- valid_tests += test_ccs(data);
- }
+ valid_tests += test_ccs(data);
igt_output_set_pipe(data->output, PIPE_NONE);
igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
@@ -320,7 +321,12 @@ static int __test_output(data_t *data)
static void test_output(data_t *data)
{
- int valid_tests = __test_output(data);
+ int valid_tests;
+
+ igt_skip_on(!igt_display_has_format_mod(&data->display, DRM_FORMAT_XRGB8888,
+ data->ccs_modifier));
+
+ valid_tests = __test_output(data);
igt_require_f(valid_tests > 0, "CCS not supported, skipping\n");
}
@@ -328,12 +334,14 @@ static data_t data;
igt_main
{
+ int i, gen;
enum pipe pipe;
igt_fixture {
data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
- igt_require(intel_gen(intel_get_drm_devid(data.drm_fd)) >= 9);
+ gen = intel_gen(intel_get_drm_devid(data.drm_fd));
+ igt_require(gen >= 9);
kmstest_set_vt_graphics_mode();
igt_require_pipe_crc(data.drm_fd);
@@ -345,51 +353,63 @@ igt_main
data.pipe = pipe;
- data.flags = TEST_BAD_PIXEL_FORMAT;
- igt_subtest_f("pipe-%s-bad-pixel-format", pipe_name)
- test_output(&data);
+ for (i = 0; i < ARRAY_SIZE(ccs_modifiers); i++) {
+ data.ccs_modifier = ccs_modifiers[i].modifier;
- data.flags = TEST_BAD_ROTATION_90;
- igt_subtest_f("pipe-%s-bad-rotation-90", pipe_name)
- test_output(&data);
+ data.flags = TEST_BAD_PIXEL_FORMAT;
+ igt_describe("Test bad pixel format with given CCS modifier");
+ igt_subtest_f("pipe-%s-tiling-%s-bad-pixel-format", pipe_name, ccs_modifiers[i].name)
+ test_output(&data);
- data.flags = TEST_CRC;
- igt_subtest_f("pipe-%s-crc-primary-basic", pipe_name)
- test_output(&data);
+ data.flags = TEST_BAD_ROTATION_90;
+ igt_describe("Test 90 degree rotation with given CCS modifier");
+ igt_subtest_f("pipe-%s-tiling-%s-bad-rotation-90", pipe_name, ccs_modifiers[i].name)
+ test_output(&data);
- data.flags = TEST_CRC | TEST_ROTATE_180;
- igt_subtest_f("pipe-%s-crc-primary-rotation-180", pipe_name)
- test_output(&data);
+ data.flags = TEST_CRC;
+ igt_describe("Test primary plane CRC compatibility with given CCS modifier");
+ igt_subtest_f("pipe-%s-tiling-%s-crc-primary-basic", pipe_name, ccs_modifiers[i].name)
+ test_output(&data);
- data.flags = TEST_CRC;
- igt_subtest_f("pipe-%s-crc-sprite-planes-basic", pipe_name) {
- int valid_tests = 0;
+ data.flags = TEST_CRC | TEST_ROTATE_180;
+ igt_describe("Test 180 degree rotation with given CCS modifier");
+ igt_subtest_f("pipe-%s-tiling-%s-crc-primary-rotation-180", pipe_name, ccs_modifiers[i].name)
+ test_output(&data);
- igt_display_require_output_on_pipe(&data.display, data.pipe);
+ data.flags = TEST_CRC;
+ igt_describe("Test sprite plane CRC compatibility with given CCS modifier");
+ igt_subtest_f("pipe-%s-tiling-%s-crc-sprite-planes-basic", pipe_name, ccs_modifiers[i].name) {
+ int valid_tests = 0;
- for_each_plane_on_pipe(&data.display, data.pipe, data.plane) {
- if (data.plane->type == DRM_PLANE_TYPE_PRIMARY)
- continue;
- valid_tests += __test_output(&data);
- }
+ igt_display_require_output_on_pipe(&data.display, data.pipe);
- igt_require_f(valid_tests > 0,
- "CCS not supported, skipping\n");
- }
+ for_each_plane_on_pipe(&data.display, data.pipe, data.plane) {
+ if (data.plane->type == DRM_PLANE_TYPE_PRIMARY)
+ continue;
+ valid_tests += __test_output(&data);
+ }
- data.plane = NULL;
+ igt_require_f(valid_tests > 0,
+ "CCS not supported, skipping\n");
+ }
- data.flags = TEST_NO_AUX_BUFFER;
- igt_subtest_f("pipe-%s-missing-ccs-buffer", pipe_name)
- test_output(&data);
+ data.plane = NULL;
- data.flags = TEST_BAD_CCS_HANDLE;
- igt_subtest_f("pipe-%s-ccs-on-another-bo", pipe_name)
- test_output(&data);
+ data.flags = TEST_NO_AUX_BUFFER;
+ igt_describe("Test missing CCS buffer with given CCS modifier");
+ igt_subtest_f("pipe-%s-tiling-%s-missing-ccs-buffer", pipe_name, ccs_modifiers[i].name)
+ test_output(&data);
- data.flags = TEST_BAD_AUX_STRIDE;
- igt_subtest_f("pipe-%s-bad-aux-stride", pipe_name)
- test_output(&data);
+ data.flags = TEST_BAD_CCS_HANDLE;
+ igt_describe("Test CCS with different BO with given modifier");
+ igt_subtest_f("pipe-%s-tiling-%s-ccs-on-another-bo", pipe_name, ccs_modifiers[i].name)
+ test_output(&data);
+
+ data.flags = TEST_BAD_AUX_STRIDE;
+ igt_describe("Test with bad AUX stride with given CCS modifier");
+ igt_subtest_f("pipe-%s-tiling-%s-bad-aux-stride", pipe_name, ccs_modifiers[i].name)
+ test_output(&data);
+ }
}
igt_fixture
--
2.17.1
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v4 1/3] Format modifier for Intel Gen-12 render compression
2019-11-11 11:00 ` [igt-dev] [PATCH i-g-t v4 1/3] Format modifier for Intel Gen-12 render compression Mika Kahola
@ 2019-11-11 11:08 ` Petri Latvala
2019-11-11 11:36 ` Kahola, Mika
0 siblings, 1 reply; 14+ messages in thread
From: Petri Latvala @ 2019-11-11 11:08 UTC (permalink / raw)
To: Mika Kahola; +Cc: igt-dev
On Mon, Nov 11, 2019 at 01:00:47PM +0200, Mika Kahola wrote:
> Gen-12 has a new compression format for render compression.
> For this, a new modifier is needed to indicate that.
>
> Signed-off-by: Mika Kahola <mika.kahola@intel.com>
> Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
> ---
> include/drm-uapi/drm_fourcc.h | 1 +
> lib/ioctl_wrappers.h | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/include/drm-uapi/drm_fourcc.h b/include/drm-uapi/drm_fourcc.h
> index 3feeaa3f..b93eb2d4 100644
> --- a/include/drm-uapi/drm_fourcc.h
> +++ b/include/drm-uapi/drm_fourcc.h
> @@ -409,6 +409,7 @@ extern "C" {
> */
> #define I915_FORMAT_MOD_Y_TILED_CCS fourcc_mod_code(INTEL, 4)
> #define I915_FORMAT_MOD_Yf_TILED_CCS fourcc_mod_code(INTEL, 5)
> +#define I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS fourcc_mod_code(INTEL, 6)
>
> /*
> * Tiled, NV12MT, grouped in 64 (pixels) x 32 (lines) -sized macroblocks
> diff --git a/lib/ioctl_wrappers.h b/lib/ioctl_wrappers.h
> index 03211c97..f2412d78 100644
> --- a/lib/ioctl_wrappers.h
> +++ b/lib/ioctl_wrappers.h
> @@ -200,6 +200,7 @@ struct local_drm_mode_fb_cmd2 {
> #define LOCAL_I915_FORMAT_MOD_Yf_TILED local_fourcc_mod_code(INTEL, 3)
> #define LOCAL_I915_FORMAT_MOD_Y_TILED_CCS local_fourcc_mod_code(INTEL, 4)
> #define LOCAL_I915_FORMAT_MOD_Yf_TILED_CCS local_fourcc_mod_code(INTEL, 5)
> +#define LOCAL_I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS fourcc_mod_code(INTEL, 6)
Why do we carry these LOCAL_ defines when we have the kernel uapi
headers copied that define them?
--
Petri Latvala
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v4 1/3] Format modifier for Intel Gen-12 render compression
2019-11-11 11:08 ` Petri Latvala
@ 2019-11-11 11:36 ` Kahola, Mika
2019-11-11 12:00 ` Petri Latvala
0 siblings, 1 reply; 14+ messages in thread
From: Kahola, Mika @ 2019-11-11 11:36 UTC (permalink / raw)
To: Latvala, Petri; +Cc: igt-dev
On Mon, 2019-11-11 at 13:08 +0200, Petri Latvala wrote:
> On Mon, Nov 11, 2019 at 01:00:47PM +0200, Mika Kahola wrote:
> > Gen-12 has a new compression format for render compression.
> > For this, a new modifier is needed to indicate that.
> >
> > Signed-off-by: Mika Kahola <mika.kahola@intel.com>
> > Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
> > ---
> > include/drm-uapi/drm_fourcc.h | 1 +
> > lib/ioctl_wrappers.h | 1 +
> > 2 files changed, 2 insertions(+)
> >
> > diff --git a/include/drm-uapi/drm_fourcc.h b/include/drm-
> > uapi/drm_fourcc.h
> > index 3feeaa3f..b93eb2d4 100644
> > --- a/include/drm-uapi/drm_fourcc.h
> > +++ b/include/drm-uapi/drm_fourcc.h
> > @@ -409,6 +409,7 @@ extern "C" {
> > */
> > #define I915_FORMAT_MOD_Y_TILED_CCS fourcc_mod_code(INTEL,
> > 4)
> > #define I915_FORMAT_MOD_Yf_TILED_CCS fourcc_mod_code(INTEL,
> > 5)
> > +#define I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS
> > fourcc_mod_code(INTEL, 6)
> >
> > /*
> > * Tiled, NV12MT, grouped in 64 (pixels) x 32 (lines) -sized
> > macroblocks
> > diff --git a/lib/ioctl_wrappers.h b/lib/ioctl_wrappers.h
> > index 03211c97..f2412d78 100644
> > --- a/lib/ioctl_wrappers.h
> > +++ b/lib/ioctl_wrappers.h
> > @@ -200,6 +200,7 @@ struct local_drm_mode_fb_cmd2 {
> > #define LOCAL_I915_FORMAT_MOD_Yf_TILED local_fourcc_mod_code(I
> > NTEL, 3)
> > #define LOCAL_I915_FORMAT_MOD_Y_TILED_CCS local_fourcc_mod_code(I
> > NTEL, 4)
> > #define LOCAL_I915_FORMAT_MOD_Yf_TILED_CCS local_fourcc_mod_code(I
> > NTEL, 5)
> > +#define LOCAL_I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS
> > fourcc_mod_code(INTEL, 6)
>
> Why do we carry these LOCAL_ defines when we have the kernel uapi
> headers copied that define them?
I guess there was some historical reason to do this, which I don't
know.
Maybe we could prepare a clean up patch and drop these local
definitions altogether?
>
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v4 1/3] Format modifier for Intel Gen-12 render compression
2019-11-11 11:36 ` Kahola, Mika
@ 2019-11-11 12:00 ` Petri Latvala
0 siblings, 0 replies; 14+ messages in thread
From: Petri Latvala @ 2019-11-11 12:00 UTC (permalink / raw)
To: Kahola, Mika; +Cc: igt-dev
On Mon, Nov 11, 2019 at 01:36:47PM +0200, Kahola, Mika wrote:
> On Mon, 2019-11-11 at 13:08 +0200, Petri Latvala wrote:
> > On Mon, Nov 11, 2019 at 01:00:47PM +0200, Mika Kahola wrote:
> > > Gen-12 has a new compression format for render compression.
> > > For this, a new modifier is needed to indicate that.
> > >
> > > Signed-off-by: Mika Kahola <mika.kahola@intel.com>
> > > Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
> > > ---
> > > include/drm-uapi/drm_fourcc.h | 1 +
> > > lib/ioctl_wrappers.h | 1 +
> > > 2 files changed, 2 insertions(+)
> > >
> > > diff --git a/include/drm-uapi/drm_fourcc.h b/include/drm-
> > > uapi/drm_fourcc.h
> > > index 3feeaa3f..b93eb2d4 100644
> > > --- a/include/drm-uapi/drm_fourcc.h
> > > +++ b/include/drm-uapi/drm_fourcc.h
> > > @@ -409,6 +409,7 @@ extern "C" {
> > > */
> > > #define I915_FORMAT_MOD_Y_TILED_CCS fourcc_mod_code(INTEL,
> > > 4)
> > > #define I915_FORMAT_MOD_Yf_TILED_CCS fourcc_mod_code(INTEL,
> > > 5)
> > > +#define I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS
> > > fourcc_mod_code(INTEL, 6)
> > >
> > > /*
> > > * Tiled, NV12MT, grouped in 64 (pixels) x 32 (lines) -sized
> > > macroblocks
> > > diff --git a/lib/ioctl_wrappers.h b/lib/ioctl_wrappers.h
> > > index 03211c97..f2412d78 100644
> > > --- a/lib/ioctl_wrappers.h
> > > +++ b/lib/ioctl_wrappers.h
> > > @@ -200,6 +200,7 @@ struct local_drm_mode_fb_cmd2 {
> > > #define LOCAL_I915_FORMAT_MOD_Yf_TILED local_fourcc_mod_code(I
> > > NTEL, 3)
> > > #define LOCAL_I915_FORMAT_MOD_Y_TILED_CCS local_fourcc_mod_code(I
> > > NTEL, 4)
> > > #define LOCAL_I915_FORMAT_MOD_Yf_TILED_CCS local_fourcc_mod_code(I
> > > NTEL, 5)
> > > +#define LOCAL_I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS
> > > fourcc_mod_code(INTEL, 6)
> >
> > Why do we carry these LOCAL_ defines when we have the kernel uapi
> > headers copied that define them?
> I guess there was some historical reason to do this, which I don't
> know.
Possibly from the time before we began to copy the uapi headers.
> Maybe we could prepare a clean up patch and drop these local
> definitions altogether?
Yeah that would be nice.
Don't let it hold this series as such, though, can happen in another.
--
Petri Latvala
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 14+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for GEN12 render decompression (rev4)
2019-11-11 11:00 [igt-dev] [PATCH i-g-t v4 0/3] GEN12 render decompression Mika Kahola
` (2 preceding siblings ...)
2019-11-11 11:00 ` [igt-dev] [PATCH i-g-t v4 3/3] tests/kms_ccs: Add GEN12 CCS render compression format modifiers Mika Kahola
@ 2019-11-11 12:24 ` Patchwork
2019-11-11 22:25 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
4 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2019-11-11 12:24 UTC (permalink / raw)
To: Kahola, Mika; +Cc: igt-dev
== Series Details ==
Series: GEN12 render decompression (rev4)
URL : https://patchwork.freedesktop.org/series/68937/
State : success
== Summary ==
CI Bug Log - changes from IGT_5269 -> IGTPW_3680
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/index.html
Known issues
------------
Here are the changes found in IGTPW_3680 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_exec_suspend@basic:
- fi-icl-u4: [PASS][1] -> [FAIL][2] ([fdo#111699])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/fi-icl-u4/igt@gem_exec_suspend@basic.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/fi-icl-u4/igt@gem_exec_suspend@basic.html
* igt@i915_selftest@live_blt:
- fi-bsw-n3050: [PASS][3] -> [DMESG-FAIL][4] ([fdo#112176])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/fi-bsw-n3050/igt@i915_selftest@live_blt.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/fi-bsw-n3050/igt@i915_selftest@live_blt.html
* igt@kms_chamelium@dp-edid-read:
- fi-kbl-7500u: [PASS][5] -> [WARN][6] ([fdo#109483])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/fi-kbl-7500u/igt@kms_chamelium@dp-edid-read.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/fi-kbl-7500u/igt@kms_chamelium@dp-edid-read.html
* igt@kms_chamelium@hdmi-hpd-fast:
- fi-kbl-7500u: [PASS][7] -> [FAIL][8] ([fdo#111045] / [fdo#111096])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
#### Possible fixes ####
* igt@i915_module_load@reload-with-fault-injection:
- fi-bxt-dsi: [DMESG-WARN][9] -> [PASS][10]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/fi-bxt-dsi/igt@i915_module_load@reload-with-fault-injection.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/fi-bxt-dsi/igt@i915_module_load@reload-with-fault-injection.html
[fdo#109483]: https://bugs.freedesktop.org/show_bug.cgi?id=109483
[fdo#111045]: https://bugs.freedesktop.org/show_bug.cgi?id=111045
[fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096
[fdo#111699]: https://bugs.freedesktop.org/show_bug.cgi?id=111699
[fdo#112176]: https://bugs.freedesktop.org/show_bug.cgi?id=112176
Participating hosts (48 -> 43)
------------------------------
Missing (5): fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-byt-clapper fi-bdw-samus
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5269 -> IGTPW_3680
CI-20190529: 20190529
CI_DRM_7304: 12697c9f87a35e2cb4f002d83bde1ab52d9e8d5e @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_3680: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/index.html
IGT_5269: ad2c18fe450e99d97110db13eebf312dc0fa7b4c @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Testlist changes ==
+++ 144 lines
--- 48 lines
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v4 2/3] lib/igt_fb.c: Update tile sizes for GEN12 CCS
2019-11-11 11:00 ` [igt-dev] [PATCH i-g-t v4 2/3] lib/igt_fb.c: Update tile sizes for GEN12 CCS Mika Kahola
@ 2019-11-11 15:22 ` Imre Deak
2019-11-11 15:51 ` Imre Deak
0 siblings, 1 reply; 14+ messages in thread
From: Imre Deak @ 2019-11-11 15:22 UTC (permalink / raw)
To: Mika Kahola; +Cc: igt-dev
Hi,
On Mon, Nov 11, 2019 at 01:00:48PM +0200, Mika Kahola wrote:
> Update tile sizes for GEN12 CCS.
>
> BSpec: 47709
>
> Signed-off-by: Mika Kahola <mika.kahola@intel.com>
> Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
> ---
> lib/igt_fb.c | 34 ++++++++++++++++++++++++++++++++--
> 1 file changed, 32 insertions(+), 2 deletions(-)
>
> diff --git a/lib/igt_fb.c b/lib/igt_fb.c
> index 4adca967..77030d49 100644
> --- a/lib/igt_fb.c
> +++ b/lib/igt_fb.c
> @@ -413,6 +413,33 @@ void igt_get_fb_tile_size(int fd, uint64_t modifier, int fb_bpp,
> *height_ret = 32;
> }
> break;
> + case LOCAL_I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS:
> + igt_require_intel(fd);
> + switch (fb_bpp) {
> + case 8:
> + *width_ret = 512;
> + *height_ret = 32;
> + break;
> + case 16:
> + *width_ret = 256;
> + *height_ret = 32;
> + break;
> + case 32:
> + *width_ret = 128;
> + *height_ret = 32;
> + break;
> + case 64:
> + *width_ret = 64;
> + *height_ret = 32;
> + break;
> + case 128:
> + *width_ret = 32;
> + *height_ret = 32;
> + break;
> + default:
> + igt_assert(false);
> + }
> + break;
The above look wrong to me, tiles are always 4kB. So the GEN12 y-tiled
tile width, height (CCS or not) are the same as on other platforms.
OTOH, we should align both the main surface and AUX surface width and
height for CCS. Those are setup in igt_init_fb()->fb_plane_height() and
->fb_plane_width(). The main surface (plane 0) should be aligned to 4x4
tiles (128x128 pixels). The AUX surface (plane 1) width/height should
match this, so for that in fb_plane_width():
return DIV_ROUND_UP(fb->width, 128) * 64;
and in fb_plane_height():
return DIV_ROUND_UP(fb->height, 128) * 4;
> case LOCAL_I915_FORMAT_MOD_Yf_TILED:
> case LOCAL_I915_FORMAT_MOD_Yf_TILED_CCS:
> igt_require_intel(fd);
> @@ -467,8 +494,10 @@ void igt_get_fb_tile_size(int fd, uint64_t modifier, int fb_bpp,
>
> static bool is_ccs_modifier(uint64_t modifier)
> {
> - return modifier == LOCAL_I915_FORMAT_MOD_Y_TILED_CCS ||
> - modifier == LOCAL_I915_FORMAT_MOD_Yf_TILED_CCS;
> +
> + return modifier == I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS ||
> + modifier == I915_FORMAT_MOD_Y_TILED_CCS ||
> + modifier == I915_FORMAT_MOD_Yf_TILED_CCS;
> }
>
> static unsigned fb_plane_width(const struct igt_fb *fb, int plane)
> @@ -687,6 +716,7 @@ uint64_t igt_fb_mod_to_tiling(uint64_t modifier)
> return I915_TILING_X;
> case LOCAL_I915_FORMAT_MOD_Y_TILED:
> case LOCAL_I915_FORMAT_MOD_Y_TILED_CCS:
> + case LOCAL_I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS:
> return I915_TILING_Y;
> case LOCAL_I915_FORMAT_MOD_Yf_TILED:
> case LOCAL_I915_FORMAT_MOD_Yf_TILED_CCS:
> --
> 2.17.1
>
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v4 2/3] lib/igt_fb.c: Update tile sizes for GEN12 CCS
2019-11-11 15:22 ` Imre Deak
@ 2019-11-11 15:51 ` Imre Deak
2019-11-12 7:40 ` Kahola, Mika
0 siblings, 1 reply; 14+ messages in thread
From: Imre Deak @ 2019-11-11 15:51 UTC (permalink / raw)
To: Mika Kahola; +Cc: igt-dev
On Mon, Nov 11, 2019 at 05:22:32PM +0200, Imre Deak wrote:
> Hi,
>
> On Mon, Nov 11, 2019 at 01:00:48PM +0200, Mika Kahola wrote:
> > Update tile sizes for GEN12 CCS.
> >
> > BSpec: 47709
> >
> > Signed-off-by: Mika Kahola <mika.kahola@intel.com>
> > Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
> > ---
> > lib/igt_fb.c | 34 ++++++++++++++++++++++++++++++++--
> > 1 file changed, 32 insertions(+), 2 deletions(-)
> >
> > diff --git a/lib/igt_fb.c b/lib/igt_fb.c
> > index 4adca967..77030d49 100644
> > --- a/lib/igt_fb.c
> > +++ b/lib/igt_fb.c
> > @@ -413,6 +413,33 @@ void igt_get_fb_tile_size(int fd, uint64_t modifier, int fb_bpp,
> > *height_ret = 32;
> > }
> > break;
> > + case LOCAL_I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS:
> > + igt_require_intel(fd);
> > + switch (fb_bpp) {
> > + case 8:
> > + *width_ret = 512;
> > + *height_ret = 32;
> > + break;
> > + case 16:
> > + *width_ret = 256;
> > + *height_ret = 32;
> > + break;
> > + case 32:
> > + *width_ret = 128;
> > + *height_ret = 32;
> > + break;
> > + case 64:
> > + *width_ret = 64;
> > + *height_ret = 32;
> > + break;
> > + case 128:
> > + *width_ret = 32;
> > + *height_ret = 32;
> > + break;
> > + default:
> > + igt_assert(false);
> > + }
> > + break;
>
> The above look wrong to me, tiles are always 4kB. So the GEN12 y-tiled
> tile width, height (CCS or not) are the same as on other platforms.
>
> OTOH, we should align both the main surface and AUX surface width and
> height for CCS. Those are setup in igt_init_fb()->fb_plane_height() and
> ->fb_plane_width(). The main surface (plane 0) should be aligned to 4x4
> tiles (128x128 pixels).
and 128x128 is the case for 32bpp. For all bpps:
bpp width height
8 512 128
16 256 128
32 128 128
64 64 128
128 32 128
> The AUX surface (plane 1) width/height should match this, so for that
> in fb_plane_width():
>
> return DIV_ROUND_UP(fb->width, 128) * 64;
and here the divisor is based on the bpp as above.
>
> and in fb_plane_height():
>
> return DIV_ROUND_UP(fb->height, 128) * 4;
>
>
> > case LOCAL_I915_FORMAT_MOD_Yf_TILED:
> > case LOCAL_I915_FORMAT_MOD_Yf_TILED_CCS:
> > igt_require_intel(fd);
> > @@ -467,8 +494,10 @@ void igt_get_fb_tile_size(int fd, uint64_t modifier, int fb_bpp,
> >
> > static bool is_ccs_modifier(uint64_t modifier)
> > {
> > - return modifier == LOCAL_I915_FORMAT_MOD_Y_TILED_CCS ||
> > - modifier == LOCAL_I915_FORMAT_MOD_Yf_TILED_CCS;
> > +
> > + return modifier == I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS ||
> > + modifier == I915_FORMAT_MOD_Y_TILED_CCS ||
> > + modifier == I915_FORMAT_MOD_Yf_TILED_CCS;
> > }
> >
> > static unsigned fb_plane_width(const struct igt_fb *fb, int plane)
> > @@ -687,6 +716,7 @@ uint64_t igt_fb_mod_to_tiling(uint64_t modifier)
> > return I915_TILING_X;
> > case LOCAL_I915_FORMAT_MOD_Y_TILED:
> > case LOCAL_I915_FORMAT_MOD_Y_TILED_CCS:
> > + case LOCAL_I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS:
> > return I915_TILING_Y;
> > case LOCAL_I915_FORMAT_MOD_Yf_TILED:
> > case LOCAL_I915_FORMAT_MOD_Yf_TILED_CCS:
> > --
> > 2.17.1
> >
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 14+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for GEN12 render decompression (rev4)
2019-11-11 11:00 [igt-dev] [PATCH i-g-t v4 0/3] GEN12 render decompression Mika Kahola
` (3 preceding siblings ...)
2019-11-11 12:24 ` [igt-dev] ✓ Fi.CI.BAT: success for GEN12 render decompression (rev4) Patchwork
@ 2019-11-11 22:25 ` Patchwork
4 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2019-11-11 22:25 UTC (permalink / raw)
To: Kahola, Mika; +Cc: igt-dev
== Series Details ==
Series: GEN12 render decompression (rev4)
URL : https://patchwork.freedesktop.org/series/68937/
State : success
== Summary ==
CI Bug Log - changes from IGT_5269_full -> IGTPW_3680_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/index.html
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_3680_full:
### IGT changes ###
#### Possible regressions ####
* {igt@kms_ccs@pipe-c-tiling-y-rc-crc-sprite-planes-basic} (NEW):
- shard-iclb: NOTRUN -> [SKIP][1] +30 similar issues
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/shard-iclb4/igt@kms_ccs@pipe-c-tiling-y-rc-crc-sprite-planes-basic.html
* {igt@kms_ccs@pipe-c-tiling-yf-crc-sprite-planes-basic} (NEW):
- shard-tglb: NOTRUN -> [SKIP][2] +62 similar issues
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/shard-tglb5/igt@kms_ccs@pipe-c-tiling-yf-crc-sprite-planes-basic.html
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* {igt@i915_pm_dc@dc3co-vpb-simulation}:
- shard-iclb: NOTRUN -> [SKIP][3]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/shard-iclb8/igt@i915_pm_dc@dc3co-vpb-simulation.html
New tests
---------
New tests have been introduced between IGT_5269_full and IGTPW_3680_full:
### New IGT tests (96) ###
* igt@kms_ccs@pipe-a-tiling-y-bad-aux-stride:
- Statuses : 4 pass(s) 3 skip(s)
- Exec time: [0.0, 0.42] s
* igt@kms_ccs@pipe-a-tiling-y-bad-pixel-format:
- Statuses : 3 pass(s) 2 skip(s)
- Exec time: [0.0, 0.24] s
* igt@kms_ccs@pipe-a-tiling-y-bad-rotation-90:
- Statuses : 4 pass(s) 3 skip(s)
- Exec time: [0.0, 0.35] s
* igt@kms_ccs@pipe-a-tiling-y-ccs-on-another-bo:
- Statuses : 4 pass(s) 2 skip(s)
- Exec time: [0.0, 0.29] s
* igt@kms_ccs@pipe-a-tiling-y-crc-primary-basic:
- Statuses : 3 pass(s) 3 skip(s)
- Exec time: [0.0, 0.55] s
* igt@kms_ccs@pipe-a-tiling-y-crc-primary-rotation-180:
- Statuses : 4 pass(s) 2 skip(s)
- Exec time: [0.0, 0.62] s
* igt@kms_ccs@pipe-a-tiling-y-crc-sprite-planes-basic:
- Statuses : 4 pass(s) 2 skip(s)
- Exec time: [0.0, 7.60] s
* igt@kms_ccs@pipe-a-tiling-y-missing-ccs-buffer:
- Statuses : 4 pass(s) 2 skip(s)
- Exec time: [0.0, 0.31] s
* igt@kms_ccs@pipe-a-tiling-y-rc-bad-aux-stride:
- Statuses : 6 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-a-tiling-y-rc-bad-pixel-format:
- Statuses : 6 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-a-tiling-y-rc-bad-rotation-90:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-a-tiling-y-rc-ccs-on-another-bo:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-a-tiling-y-rc-crc-primary-basic:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-a-tiling-y-rc-crc-primary-rotation-180:
- Statuses : 6 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-a-tiling-y-rc-crc-sprite-planes-basic:
- Statuses : 7 skip(s)
- Exec time: [0.0, 0.31] s
* igt@kms_ccs@pipe-a-tiling-y-rc-missing-ccs-buffer:
- Statuses : 6 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-a-tiling-yf-bad-aux-stride:
- Statuses : 4 pass(s) 3 skip(s)
- Exec time: [0.0, 0.43] s
* igt@kms_ccs@pipe-a-tiling-yf-bad-pixel-format:
- Statuses : 4 pass(s) 2 skip(s)
- Exec time: [0.0, 0.28] s
* igt@kms_ccs@pipe-a-tiling-yf-bad-rotation-90:
- Statuses : 4 pass(s) 3 skip(s)
- Exec time: [0.0, 0.34] s
* igt@kms_ccs@pipe-a-tiling-yf-ccs-on-another-bo:
- Statuses : 4 pass(s) 2 skip(s)
- Exec time: [0.0, 0.33] s
* igt@kms_ccs@pipe-a-tiling-yf-crc-primary-basic:
- Statuses : 4 pass(s) 3 skip(s)
- Exec time: [0.0, 0.61] s
* igt@kms_ccs@pipe-a-tiling-yf-crc-primary-rotation-180:
- Statuses : 4 pass(s) 2 skip(s)
- Exec time: [0.0, 0.60] s
* igt@kms_ccs@pipe-a-tiling-yf-crc-sprite-planes-basic:
- Statuses : 4 pass(s) 3 skip(s)
- Exec time: [0.0, 7.57] s
* igt@kms_ccs@pipe-a-tiling-yf-missing-ccs-buffer:
- Statuses : 4 pass(s) 3 skip(s)
- Exec time: [0.0, 0.33] s
* igt@kms_ccs@pipe-b-tiling-y-bad-aux-stride:
- Statuses : 4 pass(s) 3 skip(s)
- Exec time: [0.0, 0.42] s
* igt@kms_ccs@pipe-b-tiling-y-bad-pixel-format:
- Statuses : 4 pass(s) 3 skip(s)
- Exec time: [0.0, 0.30] s
* igt@kms_ccs@pipe-b-tiling-y-bad-rotation-90:
- Statuses : 4 pass(s) 2 skip(s)
- Exec time: [0.0, 1.45] s
* igt@kms_ccs@pipe-b-tiling-y-ccs-on-another-bo:
- Statuses : 4 pass(s) 3 skip(s)
- Exec time: [0.0, 0.32] s
* igt@kms_ccs@pipe-b-tiling-y-crc-primary-basic:
- Statuses : 4 pass(s) 3 skip(s)
- Exec time: [0.0, 1.95] s
* igt@kms_ccs@pipe-b-tiling-y-crc-primary-rotation-180:
- Statuses : 4 pass(s) 3 skip(s)
- Exec time: [0.0, 1.70] s
* igt@kms_ccs@pipe-b-tiling-y-crc-sprite-planes-basic:
- Statuses : 4 pass(s) 2 skip(s)
- Exec time: [0.0, 8.74] s
* igt@kms_ccs@pipe-b-tiling-y-missing-ccs-buffer:
- Statuses : 4 pass(s) 3 skip(s)
- Exec time: [0.0, 0.34] s
* igt@kms_ccs@pipe-b-tiling-y-rc-bad-aux-stride:
- Statuses : 6 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-b-tiling-y-rc-bad-pixel-format:
- Statuses : 6 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-b-tiling-y-rc-bad-rotation-90:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-b-tiling-y-rc-ccs-on-another-bo:
- Statuses : 6 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-b-tiling-y-rc-crc-primary-basic:
- Statuses : 6 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-b-tiling-y-rc-crc-primary-rotation-180:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-b-tiling-y-rc-crc-sprite-planes-basic:
- Statuses : 7 skip(s)
- Exec time: [0.0, 0.30] s
* igt@kms_ccs@pipe-b-tiling-y-rc-missing-ccs-buffer:
- Statuses : 6 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-b-tiling-yf-bad-aux-stride:
- Statuses : 3 pass(s) 3 skip(s)
- Exec time: [0.0, 0.44] s
* igt@kms_ccs@pipe-b-tiling-yf-bad-pixel-format:
- Statuses : 4 pass(s) 3 skip(s)
- Exec time: [0.0, 0.29] s
* igt@kms_ccs@pipe-b-tiling-yf-bad-rotation-90:
- Statuses : 4 pass(s) 2 skip(s)
- Exec time: [0.0, 1.46] s
* igt@kms_ccs@pipe-b-tiling-yf-ccs-on-another-bo:
- Statuses : 4 pass(s) 3 skip(s)
- Exec time: [0.0, 0.34] s
* igt@kms_ccs@pipe-b-tiling-yf-crc-primary-basic:
- Statuses : 4 pass(s) 2 skip(s)
- Exec time: [0.0, 1.90] s
* igt@kms_ccs@pipe-b-tiling-yf-crc-primary-rotation-180:
- Statuses : 4 pass(s) 3 skip(s)
- Exec time: [0.0, 1.68] s
* igt@kms_ccs@pipe-b-tiling-yf-crc-sprite-planes-basic:
- Statuses : 3 pass(s) 3 skip(s)
- Exec time: [0.0, 1.54] s
* igt@kms_ccs@pipe-b-tiling-yf-missing-ccs-buffer:
- Statuses : 4 pass(s) 2 skip(s)
- Exec time: [0.0, 0.30] s
* igt@kms_ccs@pipe-c-tiling-y-bad-aux-stride:
- Statuses : 1 pass(s) 5 skip(s)
- Exec time: [0.0, 0.36] s
* igt@kms_ccs@pipe-c-tiling-y-bad-pixel-format:
- Statuses : 1 pass(s) 6 skip(s)
- Exec time: [0.0, 0.28] s
* igt@kms_ccs@pipe-c-tiling-y-bad-rotation-90:
- Statuses : 1 pass(s) 5 skip(s)
- Exec time: [0.0, 1.48] s
* igt@kms_ccs@pipe-c-tiling-y-ccs-on-another-bo:
- Statuses : 1 pass(s) 5 skip(s)
- Exec time: [0.0, 0.31] s
* igt@kms_ccs@pipe-c-tiling-y-crc-primary-basic:
- Statuses : 6 skip(s)
- Exec time: [0.0, 0.25] s
* igt@kms_ccs@pipe-c-tiling-y-crc-primary-rotation-180:
- Statuses : 1 pass(s) 6 skip(s)
- Exec time: [0.0, 1.63] s
* igt@kms_ccs@pipe-c-tiling-y-crc-sprite-planes-basic:
- Statuses : 1 pass(s) 6 skip(s)
- Exec time: [0.0, 8.73] s
* igt@kms_ccs@pipe-c-tiling-y-missing-ccs-buffer:
- Statuses : 1 pass(s) 6 skip(s)
- Exec time: [0.0, 0.30] s
* igt@kms_ccs@pipe-c-tiling-y-rc-bad-aux-stride:
- Statuses : 6 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-c-tiling-y-rc-bad-pixel-format:
- Statuses : 6 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-c-tiling-y-rc-bad-rotation-90:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-c-tiling-y-rc-ccs-on-another-bo:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-c-tiling-y-rc-crc-primary-basic:
- Statuses : 6 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-c-tiling-y-rc-crc-primary-rotation-180:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-c-tiling-y-rc-crc-sprite-planes-basic:
- Statuses : 7 skip(s)
- Exec time: [0.0, 0.30] s
* igt@kms_ccs@pipe-c-tiling-y-rc-missing-ccs-buffer:
- Statuses : 6 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-c-tiling-yf-bad-aux-stride:
- Statuses : 1 pass(s) 5 skip(s)
- Exec time: [0.0, 0.36] s
* igt@kms_ccs@pipe-c-tiling-yf-bad-pixel-format:
- Statuses : 1 pass(s) 6 skip(s)
- Exec time: [0.0, 0.29] s
* igt@kms_ccs@pipe-c-tiling-yf-bad-rotation-90:
- Statuses : 1 pass(s) 5 skip(s)
- Exec time: [0.0, 1.41] s
* igt@kms_ccs@pipe-c-tiling-yf-ccs-on-another-bo:
- Statuses : 1 pass(s) 6 skip(s)
- Exec time: [0.0, 0.33] s
* igt@kms_ccs@pipe-c-tiling-yf-crc-primary-basic:
- Statuses : 1 pass(s) 6 skip(s)
- Exec time: [0.0, 1.67] s
* igt@kms_ccs@pipe-c-tiling-yf-crc-primary-rotation-180:
- Statuses : 1 pass(s) 6 skip(s)
- Exec time: [0.0, 1.66] s
* igt@kms_ccs@pipe-c-tiling-yf-crc-sprite-planes-basic:
- Statuses : 1 pass(s) 6 skip(s)
- Exec time: [0.0, 8.76] s
* igt@kms_ccs@pipe-c-tiling-yf-missing-ccs-buffer:
- Statuses : 1 pass(s) 5 skip(s)
- Exec time: [0.0, 0.30] s
* igt@kms_ccs@pipe-d-tiling-y-bad-aux-stride:
- Statuses : 6 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-d-tiling-y-bad-pixel-format:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-d-tiling-y-bad-rotation-90:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-d-tiling-y-ccs-on-another-bo:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-d-tiling-y-crc-primary-basic:
- Statuses : 6 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-d-tiling-y-crc-primary-rotation-180:
- Statuses : 6 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-d-tiling-y-crc-sprite-planes-basic:
- Statuses : 6 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-d-tiling-y-missing-ccs-buffer:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-d-tiling-y-rc-bad-aux-stride:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-d-tiling-y-rc-bad-pixel-format:
- Statuses : 6 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-d-tiling-y-rc-bad-rotation-90:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-d-tiling-y-rc-ccs-on-another-bo:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-d-tiling-y-rc-crc-primary-basic:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-d-tiling-y-rc-crc-primary-rotation-180:
- Statuses : 6 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-d-tiling-y-rc-crc-sprite-planes-basic:
- Statuses : 6 skip(s)
- Exec time: [0.0, 0.30] s
* igt@kms_ccs@pipe-d-tiling-y-rc-missing-ccs-buffer:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-d-tiling-yf-bad-aux-stride:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-d-tiling-yf-bad-pixel-format:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-d-tiling-yf-bad-rotation-90:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-d-tiling-yf-ccs-on-another-bo:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-d-tiling-yf-crc-primary-basic:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-d-tiling-yf-crc-primary-rotation-180:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-d-tiling-yf-crc-sprite-planes-basic:
- Statuses : 6 skip(s)
- Exec time: [0.0] s
* igt@kms_ccs@pipe-d-tiling-yf-missing-ccs-buffer:
- Statuses : 6 skip(s)
- Exec time: [0.0, 0.00] s
Known issues
------------
Here are the changes found in IGTPW_3680_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_ctx_persistence@vcs1-mixed-process:
- shard-iclb: [PASS][4] -> [SKIP][5] ([fdo#109276] / [fdo#112080]) +1 similar issue
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/shard-iclb2/igt@gem_ctx_persistence@vcs1-mixed-process.html
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/shard-iclb8/igt@gem_ctx_persistence@vcs1-mixed-process.html
* igt@gem_ctx_shared@q-smoketest-all:
- shard-tglb: [PASS][6] -> [INCOMPLETE][7] ([fdo#111735])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/shard-tglb4/igt@gem_ctx_shared@q-smoketest-all.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/shard-tglb9/igt@gem_ctx_shared@q-smoketest-all.html
* igt@gem_eio@unwedge-stress:
- shard-snb: [PASS][8] -> [FAIL][9] ([fdo#109661])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/shard-snb2/igt@gem_eio@unwedge-stress.html
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/shard-snb7/igt@gem_eio@unwedge-stress.html
* igt@gem_exec_async@concurrent-writes-bsd:
- shard-iclb: [PASS][10] -> [SKIP][11] ([fdo#112146]) +3 similar issues
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/shard-iclb8/igt@gem_exec_async@concurrent-writes-bsd.html
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/shard-iclb2/igt@gem_exec_async@concurrent-writes-bsd.html
* igt@gem_exec_schedule@preempt-queue-chain-vebox:
- shard-tglb: [PASS][12] -> [INCOMPLETE][13] ([fdo#111677])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/shard-tglb4/igt@gem_exec_schedule@preempt-queue-chain-vebox.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/shard-tglb6/igt@gem_exec_schedule@preempt-queue-chain-vebox.html
* igt@gem_persistent_relocs@forked-faulting-reloc-thrashing:
- shard-iclb: [PASS][14] -> [TIMEOUT][15] ([fdo#112068 ])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/shard-iclb3/igt@gem_persistent_relocs@forked-faulting-reloc-thrashing.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/shard-iclb2/igt@gem_persistent_relocs@forked-faulting-reloc-thrashing.html
* igt@gem_userptr_blits@sync-unmap-cycles:
- shard-snb: [PASS][16] -> [DMESG-WARN][17] ([fdo#111870])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/shard-snb1/igt@gem_userptr_blits@sync-unmap-cycles.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/shard-snb5/igt@gem_userptr_blits@sync-unmap-cycles.html
- shard-hsw: [PASS][18] -> [DMESG-WARN][19] ([fdo#111870]) +1 similar issue
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/shard-hsw2/igt@gem_userptr_blits@sync-unmap-cycles.html
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/shard-hsw5/igt@gem_userptr_blits@sync-unmap-cycles.html
* igt@kms_cursor_crc@pipe-c-cursor-suspend:
- shard-kbl: [PASS][20] -> [DMESG-WARN][21] ([fdo#108566]) +3 similar issues
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/shard-kbl2/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/shard-kbl3/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-apl: [PASS][22] -> [DMESG-WARN][23] ([fdo#108566]) +2 similar issues
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/shard-apl6/igt@kms_flip@flip-vs-suspend-interruptible.html
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/shard-apl6/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render:
- shard-iclb: [PASS][24] -> [FAIL][25] ([fdo#103167])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/shard-iclb6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render.html
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-move:
- shard-tglb: [PASS][26] -> [FAIL][27] ([fdo#103167]) +1 similar issue
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/shard-tglb5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-move.html
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/shard-tglb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-move.html
* igt@kms_plane_lowres@pipe-a-tiling-y:
- shard-iclb: [PASS][28] -> [FAIL][29] ([fdo#103166])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/shard-iclb1/igt@kms_plane_lowres@pipe-a-tiling-y.html
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/shard-iclb4/igt@kms_plane_lowres@pipe-a-tiling-y.html
* igt@kms_psr2_su@frontbuffer:
- shard-iclb: [PASS][30] -> [SKIP][31] ([fdo#109642] / [fdo#111068])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/shard-iclb2/igt@kms_psr2_su@frontbuffer.html
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/shard-iclb3/igt@kms_psr2_su@frontbuffer.html
* igt@kms_setmode@basic:
- shard-apl: [PASS][32] -> [FAIL][33] ([fdo#99912])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/shard-apl6/igt@kms_setmode@basic.html
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/shard-apl3/igt@kms_setmode@basic.html
- shard-kbl: [PASS][34] -> [FAIL][35] ([fdo#99912])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/shard-kbl2/igt@kms_setmode@basic.html
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/shard-kbl3/igt@kms_setmode@basic.html
* igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend:
- shard-tglb: [PASS][36] -> [INCOMPLETE][37] ([fdo#111832] / [fdo#111850]) +2 similar issues
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/shard-tglb5/igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend.html
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/shard-tglb8/igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend.html
* igt@perf_pmu@busy-no-semaphores-vcs1:
- shard-iclb: [PASS][38] -> [SKIP][39] ([fdo#112080]) +12 similar issues
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/shard-iclb1/igt@perf_pmu@busy-no-semaphores-vcs1.html
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/shard-iclb8/igt@perf_pmu@busy-no-semaphores-vcs1.html
* igt@prime_vgem@fence-wait-bsd2:
- shard-iclb: [PASS][40] -> [SKIP][41] ([fdo#109276]) +13 similar issues
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/shard-iclb2/igt@prime_vgem@fence-wait-bsd2.html
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/shard-iclb7/igt@prime_vgem@fence-wait-bsd2.html
#### Possible fixes ####
* igt@gem_ctx_exec@basic-invalid-context-vcs1:
- shard-iclb: [SKIP][42] ([fdo#112080]) -> [PASS][43] +12 similar issues
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/shard-iclb7/igt@gem_ctx_exec@basic-invalid-context-vcs1.html
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/shard-iclb4/igt@gem_ctx_exec@basic-invalid-context-vcs1.html
* igt@gem_ctx_isolation@vcs1-s3:
- shard-tglb: [INCOMPLETE][44] ([fdo#111832]) -> [PASS][45]
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5269/shard-tglb5/igt@gem_ctx_isolation@vcs1-s3.html
[45]: https://intel-gfx-ci.01.org/tre
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3680/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v4 2/3] lib/igt_fb.c: Update tile sizes for GEN12 CCS
2019-11-11 15:51 ` Imre Deak
@ 2019-11-12 7:40 ` Kahola, Mika
2019-11-13 12:52 ` Imre Deak
0 siblings, 1 reply; 14+ messages in thread
From: Kahola, Mika @ 2019-11-12 7:40 UTC (permalink / raw)
To: Deak, Imre; +Cc: igt-dev
On Mon, 2019-11-11 at 17:51 +0200, Imre Deak wrote:
> On Mon, Nov 11, 2019 at 05:22:32PM +0200, Imre Deak wrote:
> > Hi,
> >
> > On Mon, Nov 11, 2019 at 01:00:48PM +0200, Mika Kahola wrote:
> > > Update tile sizes for GEN12 CCS.
> > >
> > > BSpec: 47709
> > >
> > > Signed-off-by: Mika Kahola <mika.kahola@intel.com>
> > > Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com
> > > >
> > > ---
> > > lib/igt_fb.c | 34 ++++++++++++++++++++++++++++++++--
> > > 1 file changed, 32 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/lib/igt_fb.c b/lib/igt_fb.c
> > > index 4adca967..77030d49 100644
> > > --- a/lib/igt_fb.c
> > > +++ b/lib/igt_fb.c
> > > @@ -413,6 +413,33 @@ void igt_get_fb_tile_size(int fd, uint64_t
> > > modifier, int fb_bpp,
> > > *height_ret = 32;
> > > }
> > > break;
> > > + case LOCAL_I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS:
> > > + igt_require_intel(fd);
> > > + switch (fb_bpp) {
> > > + case 8:
> > > + *width_ret = 512;
> > > + *height_ret = 32;
> > > + break;
> > > + case 16:
> > > + *width_ret = 256;
> > > + *height_ret = 32;
> > > + break;
> > > + case 32:
> > > + *width_ret = 128;
> > > + *height_ret = 32;
> > > + break;
> > > + case 64:
> > > + *width_ret = 64;
> > > + *height_ret = 32;
> > > + break;
> > > + case 128:
> > > + *width_ret = 32;
> > > + *height_ret = 32;
> > > + break;
> > > + default:
> > > + igt_assert(false);
> > > + }
> > > + break;
> >
> > The above look wrong to me, tiles are always 4kB. So the GEN12 y-
> > tiled
> > tile width, height (CCS or not) are the same as on other platforms.
> >
> > OTOH, we should align both the main surface and AUX surface width
> > and
> > height for CCS. Those are setup in igt_init_fb()->fb_plane_height()
> > and
> > ->fb_plane_width(). The main surface (plane 0) should be aligned to
> > 4x4
> > tiles (128x128 pixels).
>
> and 128x128 is the case for 32bpp. For all bpps:
>
> bpp width height
> 8 512 128
> 16 256 128
> 32 128 128
> 64 64 128
> 128 32 128
Ok, the numbers that I wrote originally above was found from BSpec.
Since the tiles are always 4kB, I could update the patch with the
numbers you provided.
>
> > The AUX surface (plane 1) width/height should match this, so for
> > that
> > in fb_plane_width():
> >
> > return DIV_ROUND_UP(fb->width, 128) * 64;
>
> and here the divisor is based on the bpp as above.
>
> >
> > and in fb_plane_height():
> >
> > return DIV_ROUND_UP(fb->height, 128) * 4;
> >
> >
> > > case LOCAL_I915_FORMAT_MOD_Yf_TILED:
> > > case LOCAL_I915_FORMAT_MOD_Yf_TILED_CCS:
> > > igt_require_intel(fd);
> > > @@ -467,8 +494,10 @@ void igt_get_fb_tile_size(int fd, uint64_t
> > > modifier, int fb_bpp,
> > >
> > > static bool is_ccs_modifier(uint64_t modifier)
> > > {
> > > - return modifier == LOCAL_I915_FORMAT_MOD_Y_TILED_CCS ||
> > > - modifier == LOCAL_I915_FORMAT_MOD_Yf_TILED_CCS;
> > > +
> > > + return modifier == I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS ||
> > > + modifier == I915_FORMAT_MOD_Y_TILED_CCS ||
> > > + modifier == I915_FORMAT_MOD_Yf_TILED_CCS;
> > > }
> > >
> > > static unsigned fb_plane_width(const struct igt_fb *fb, int
> > > plane)
> > > @@ -687,6 +716,7 @@ uint64_t igt_fb_mod_to_tiling(uint64_t
> > > modifier)
> > > return I915_TILING_X;
> > > case LOCAL_I915_FORMAT_MOD_Y_TILED:
> > > case LOCAL_I915_FORMAT_MOD_Y_TILED_CCS:
> > > + case LOCAL_I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS:
> > > return I915_TILING_Y;
> > > case LOCAL_I915_FORMAT_MOD_Yf_TILED:
> > > case LOCAL_I915_FORMAT_MOD_Yf_TILED_CCS:
> > > --
> > > 2.17.1
> > >
> >
> > _______________________________________________
> > igt-dev mailing list
> > igt-dev@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v4 2/3] lib/igt_fb.c: Update tile sizes for GEN12 CCS
2019-11-12 7:40 ` Kahola, Mika
@ 2019-11-13 12:52 ` Imre Deak
0 siblings, 0 replies; 14+ messages in thread
From: Imre Deak @ 2019-11-13 12:52 UTC (permalink / raw)
To: Kahola, Mika; +Cc: igt-dev
On Tue, Nov 12, 2019 at 09:40:10AM +0200, Kahola, Mika wrote:
> On Mon, 2019-11-11 at 17:51 +0200, Imre Deak wrote:
> > On Mon, Nov 11, 2019 at 05:22:32PM +0200, Imre Deak wrote:
> > > Hi,
> > >
> > > On Mon, Nov 11, 2019 at 01:00:48PM +0200, Mika Kahola wrote:
> > > > Update tile sizes for GEN12 CCS.
> > > >
> > > > BSpec: 47709
> > > >
> > > > Signed-off-by: Mika Kahola <mika.kahola@intel.com>
> > > > Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com
> > > > >
> > > > ---
> > > > lib/igt_fb.c | 34 ++++++++++++++++++++++++++++++++--
> > > > 1 file changed, 32 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/lib/igt_fb.c b/lib/igt_fb.c
> > > > index 4adca967..77030d49 100644
> > > > --- a/lib/igt_fb.c
> > > > +++ b/lib/igt_fb.c
> > > > @@ -413,6 +413,33 @@ void igt_get_fb_tile_size(int fd, uint64_t
> > > > modifier, int fb_bpp,
> > > > *height_ret = 32;
> > > > }
> > > > break;
> > > > + case LOCAL_I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS:
> > > > + igt_require_intel(fd);
> > > > + switch (fb_bpp) {
> > > > + case 8:
> > > > + *width_ret = 512;
> > > > + *height_ret = 32;
> > > > + break;
> > > > + case 16:
> > > > + *width_ret = 256;
> > > > + *height_ret = 32;
> > > > + break;
> > > > + case 32:
> > > > + *width_ret = 128;
> > > > + *height_ret = 32;
> > > > + break;
> > > > + case 64:
> > > > + *width_ret = 64;
> > > > + *height_ret = 32;
> > > > + break;
> > > > + case 128:
> > > > + *width_ret = 32;
> > > > + *height_ret = 32;
> > > > + break;
> > > > + default:
> > > > + igt_assert(false);
> > > > + }
> > > > + break;
> > >
> > > The above look wrong to me, tiles are always 4kB. So the GEN12 y-
> > > tiled tile width, height (CCS or not) are the same as on other
> > > platforms.
>
> > > OTOH, we should align both the main surface and AUX surface width
> > > and height for CCS. Those are setup in
> > > igt_init_fb()->fb_plane_height() and ->fb_plane_width(). The main
> > > surface (plane 0) should be aligned to 4x4 tiles (128x128 pixels).
> >
> > and 128x128 is the case for 32bpp. For all bpps:
> >
> > bpp width height
> > 8 512 128
> > 16 256 128
> > 32 128 128
> > 64 64 128
> > 128 32 128
>
> Ok, the numbers that I wrote originally above was found from BSpec.
> Since the tiles are always 4kB, I could update the patch with the
> numbers you provided.
The BSpec list is correct, but it's about the plane size alignment not
about tile sizes and it specifies width in pixels not in bytes as
igt_get_fb_tile_size(). I think we should keep the tile size what it
actually is (so 4kB or 128 bytes x 32 rows) and enforce the plane size
alignment in calc_plane_stride() and calc_plane_size().
> > > The AUX surface (plane 1) width/height should match this, so for
> > > that
> > > in fb_plane_width():
> > >
> > > return DIV_ROUND_UP(fb->width, 128) * 64;
> >
> > and here the divisor is based on the bpp as above.
> >
> > >
> > > and in fb_plane_height():
> > >
> > > return DIV_ROUND_UP(fb->height, 128) * 4;
> > >
> > >
> > > > case LOCAL_I915_FORMAT_MOD_Yf_TILED:
> > > > case LOCAL_I915_FORMAT_MOD_Yf_TILED_CCS:
> > > > igt_require_intel(fd);
> > > > @@ -467,8 +494,10 @@ void igt_get_fb_tile_size(int fd, uint64_t
> > > > modifier, int fb_bpp,
> > > >
> > > > static bool is_ccs_modifier(uint64_t modifier)
> > > > {
> > > > - return modifier == LOCAL_I915_FORMAT_MOD_Y_TILED_CCS ||
> > > > - modifier == LOCAL_I915_FORMAT_MOD_Yf_TILED_CCS;
> > > > +
> > > > + return modifier == I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS ||
> > > > + modifier == I915_FORMAT_MOD_Y_TILED_CCS ||
> > > > + modifier == I915_FORMAT_MOD_Yf_TILED_CCS;
> > > > }
> > > >
> > > > static unsigned fb_plane_width(const struct igt_fb *fb, int
> > > > plane)
> > > > @@ -687,6 +716,7 @@ uint64_t igt_fb_mod_to_tiling(uint64_t
> > > > modifier)
> > > > return I915_TILING_X;
> > > > case LOCAL_I915_FORMAT_MOD_Y_TILED:
> > > > case LOCAL_I915_FORMAT_MOD_Y_TILED_CCS:
> > > > + case LOCAL_I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS:
> > > > return I915_TILING_Y;
> > > > case LOCAL_I915_FORMAT_MOD_Yf_TILED:
> > > > case LOCAL_I915_FORMAT_MOD_Yf_TILED_CCS:
> > > > --
> > > > 2.17.1
> > > >
> > >
> > > _______________________________________________
> > > igt-dev mailing list
> > > igt-dev@lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 14+ messages in thread
* [igt-dev] [PATCH i-g-t v4 0/3] GEN12 render decompression
@ 2019-11-08 11:41 Mika Kahola
0 siblings, 0 replies; 14+ messages in thread
From: Mika Kahola @ 2019-11-08 11:41 UTC (permalink / raw)
To: igt-dev
Gen-12 render decompression is supported with Y-tiled main surface.
The patch series introduces CCS support for IGT tests.
This patch series requires Imre's series
https://patchwork.freedesktop.org/series/68890/
v2: Added new subtests for each format modifier.
v3: Add IGT description for each subtest (GitLab)
v4: Fix kms_ccs errornouse subtest execution and listing
Mika Kahola (3):
Format modifier for Intel Gen-12 render compression
lib/igt_fb.c: Update tile sizes for GEN12 CCS
tests/kms_ccs: Add GEN12 CCS render compression format modifiers
include/drm-uapi/drm_fourcc.h | 1 +
lib/igt_fb.c | 34 ++++++++++-
lib/ioctl_wrappers.h | 1 +
tests/kms_ccs.c | 107 ++++++++++++++++++++--------------
4 files changed, 97 insertions(+), 46 deletions(-)
--
2.17.1
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2019-11-13 12:54 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-11 11:00 [igt-dev] [PATCH i-g-t v4 0/3] GEN12 render decompression Mika Kahola
2019-11-11 11:00 ` [igt-dev] [PATCH i-g-t v4 1/3] Format modifier for Intel Gen-12 render compression Mika Kahola
2019-11-11 11:08 ` Petri Latvala
2019-11-11 11:36 ` Kahola, Mika
2019-11-11 12:00 ` Petri Latvala
2019-11-11 11:00 ` [igt-dev] [PATCH i-g-t v4 2/3] lib/igt_fb.c: Update tile sizes for GEN12 CCS Mika Kahola
2019-11-11 15:22 ` Imre Deak
2019-11-11 15:51 ` Imre Deak
2019-11-12 7:40 ` Kahola, Mika
2019-11-13 12:52 ` Imre Deak
2019-11-11 11:00 ` [igt-dev] [PATCH i-g-t v4 3/3] tests/kms_ccs: Add GEN12 CCS render compression format modifiers Mika Kahola
2019-11-11 12:24 ` [igt-dev] ✓ Fi.CI.BAT: success for GEN12 render decompression (rev4) Patchwork
2019-11-11 22:25 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
-- strict thread matches above, loose matches on Subject: below --
2019-11-08 11:41 [igt-dev] [PATCH i-g-t v4 0/3] GEN12 render decompression Mika Kahola
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.