Re: [Intel-gfx] [PATCH 6/7] igt/kms_frontbuffer_tracking: Add Y-tiling support

2017-04-26 Thread Paulo Zanoni
Em Sáb, 2017-03-18 às 00:45 +0530, Praveen Paneri escreveu:
> Allow tests to create Y-tiled bufferes using a separate
> argument to the test without increasing the number of
> subtests.
> 
> Signed-off-by: Praveen Paneri 
> ---
>  tests/kms_frontbuffer_tracking.c | 46 +++---
> --
>  1 file changed, 27 insertions(+), 19 deletions(-)
> 
> diff --git a/tests/kms_frontbuffer_tracking.c
> b/tests/kms_frontbuffer_tracking.c
> index 03c7710..0597f10 100644
> --- a/tests/kms_frontbuffer_tracking.c
> +++ b/tests/kms_frontbuffer_tracking.c
> @@ -250,6 +250,7 @@ struct {
>   int only_pipes;
>   int shared_fb_x_offset;
>   int shared_fb_y_offset;
> + uint64_t tiling;
>  } opt = {
>   .check_status = true,
>   .check_crc = true,
> @@ -262,6 +263,7 @@ struct {
>   .only_pipes = PIPE_COUNT,
>   .shared_fb_x_offset = 500,
>   .shared_fb_y_offset = 500,
> + .tiling = LOCAL_I915_FORMAT_MOD_X_TILED,
>  };
>  
>  struct modeset_params {
> @@ -576,7 +578,7 @@ static void create_fb(enum pixel_format pformat,
> int width, int height,
>   if (plane == PLANE_CUR)
>   tiling_for_size = LOCAL_DRM_FORMAT_MOD_NONE;
>   else
> - tiling_for_size = LOCAL_I915_FORMAT_MOD_X_TILED;
> + tiling_for_size = opt.tiling;
>  
>   igt_calc_fb_size(drm.fd, width, height, bpp,
> tiling_for_size, &size,
>    &stride);
> @@ -708,7 +710,7 @@ static void create_shared_fb(enum pixel_format
> format)
>  
>   big_h = prim_h + scnd_h + offs_h + opt.shared_fb_y_offset;
>  
> - create_fb(format, big_w, big_h,
> LOCAL_I915_FORMAT_MOD_X_TILED,
> + create_fb(format, big_w, big_h, opt.tiling,
>     PLANE_PRI, &s->big);
>  }
>  
> @@ -742,16 +744,16 @@ static void create_fbs(enum pixel_format
> format)
>  
>   create_fb(format, prim_mode_params.mode->hdisplay,
>     prim_mode_params.mode->vdisplay,
> -   LOCAL_I915_FORMAT_MOD_X_TILED, PLANE_PRI, &s-
> >prim_pri);
> +   opt.tiling, PLANE_PRI, &s->prim_pri);
>   create_fb(format, prim_mode_params.cursor.w,
>     prim_mode_params.cursor.h,
> LOCAL_DRM_FORMAT_MOD_NONE,
>     PLANE_CUR, &s->prim_cur);
>   create_fb(format, prim_mode_params.sprite.w,
> -   prim_mode_params.sprite.h,
> LOCAL_I915_FORMAT_MOD_X_TILED,
> +   prim_mode_params.sprite.h, opt.tiling,
>     PLANE_SPR, &s->prim_spr);
>  
>   create_fb(format, offscreen_fb.w, offscreen_fb.h,
> -   LOCAL_I915_FORMAT_MOD_X_TILED, PLANE_PRI, &s-
> >offscreen);
> +   opt.tiling, PLANE_PRI, &s->offscreen);
>  
>   create_shared_fb(format);
>  
> @@ -760,11 +762,11 @@ static void create_fbs(enum pixel_format
> format)
>  
>   create_fb(format, scnd_mode_params.mode->hdisplay,
>     scnd_mode_params.mode->vdisplay,
> -   LOCAL_I915_FORMAT_MOD_X_TILED, PLANE_PRI, &s-
> >scnd_pri);
> +   opt.tiling, PLANE_PRI, &s->scnd_pri);
>   create_fb(format, scnd_mode_params.cursor.w,
> scnd_mode_params.cursor.h,
>     LOCAL_DRM_FORMAT_MOD_NONE, PLANE_CUR, &s-
> >scnd_cur);
>   create_fb(format, scnd_mode_params.sprite.w,
> scnd_mode_params.sprite.h,
> -   LOCAL_I915_FORMAT_MOD_X_TILED, PLANE_SPR, &s-
> >scnd_spr);
> +   opt.tiling, PLANE_SPR, &s->scnd_spr);
>  }
>  
>  static bool set_mode_for_params(struct modeset_params *params)
> @@ -1241,7 +1243,7 @@ static void init_blue_crc(enum pixel_format
> format, bool mandatory_sink_crc)
>  
>   create_fb(format, prim_mode_params.mode->hdisplay,
>     prim_mode_params.mode->vdisplay,
> -   LOCAL_I915_FORMAT_MOD_X_TILED, PLANE_PRI, &blue);
> +   opt.tiling, PLANE_PRI, &blue);
>  
>   fill_fb(&blue, COLOR_PRIM_BG);
>  
> @@ -1276,7 +1278,7 @@ static void init_crcs(enum pixel_format format,
>   for (r = 0; r < pattern->n_rects; r++)
>   create_fb(format, prim_mode_params.mode->hdisplay,
>     prim_mode_params.mode->vdisplay,
> -   LOCAL_I915_FORMAT_MOD_X_TILED, PLANE_PRI,
> &tmp_fbs[r]);
> +   opt.tiling, PLANE_PRI, &tmp_fbs[r]);
>  
>   for (r = 0; r < pattern->n_rects; r++)
>   fill_fb(&tmp_fbs[r], COLOR_PRIM_BG);
> @@ -2374,7 +2376,7 @@ static void flip_subtest(const struct test_mode
> *t)
>   prepare_subtest(t, pattern);
>  
>   create_fb(t->format, params->fb.fb->width, params->fb.fb-
> >height,
> -   LOCAL_I915_FORMAT_MOD_X_TILED, t->plane, &fb2);
> +   opt.tiling, t->plane, &fb2);
>   fill_fb(&fb2, bg_color);
>   orig_fb = params->fb.fb;
>  
> @@ -2420,7 +2422,7 @@ static void fliptrack_subtest(const struct
> test_mode *t, enum flip_type type)
>   prepare_subtest(t, pattern);
>  
>   create_fb(t->format, params->fb.fb->width, params->fb.fb-
> >height,
> -   LOCAL_

[Intel-gfx] [PATCH 6/7] igt/kms_frontbuffer_tracking: Add Y-tiling support

2017-03-17 Thread Praveen Paneri
Allow tests to create Y-tiled bufferes using a separate
argument to the test without increasing the number of
subtests.

Signed-off-by: Praveen Paneri 
---
 tests/kms_frontbuffer_tracking.c | 46 +++-
 1 file changed, 27 insertions(+), 19 deletions(-)

diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
index 03c7710..0597f10 100644
--- a/tests/kms_frontbuffer_tracking.c
+++ b/tests/kms_frontbuffer_tracking.c
@@ -250,6 +250,7 @@ struct {
int only_pipes;
int shared_fb_x_offset;
int shared_fb_y_offset;
+   uint64_t tiling;
 } opt = {
.check_status = true,
.check_crc = true,
@@ -262,6 +263,7 @@ struct {
.only_pipes = PIPE_COUNT,
.shared_fb_x_offset = 500,
.shared_fb_y_offset = 500,
+   .tiling = LOCAL_I915_FORMAT_MOD_X_TILED,
 };
 
 struct modeset_params {
@@ -576,7 +578,7 @@ static void create_fb(enum pixel_format pformat, int width, 
int height,
if (plane == PLANE_CUR)
tiling_for_size = LOCAL_DRM_FORMAT_MOD_NONE;
else
-   tiling_for_size = LOCAL_I915_FORMAT_MOD_X_TILED;
+   tiling_for_size = opt.tiling;
 
igt_calc_fb_size(drm.fd, width, height, bpp, tiling_for_size, &size,
 &stride);
@@ -708,7 +710,7 @@ static void create_shared_fb(enum pixel_format format)
 
big_h = prim_h + scnd_h + offs_h + opt.shared_fb_y_offset;
 
-   create_fb(format, big_w, big_h, LOCAL_I915_FORMAT_MOD_X_TILED,
+   create_fb(format, big_w, big_h, opt.tiling,
  PLANE_PRI, &s->big);
 }
 
@@ -742,16 +744,16 @@ static void create_fbs(enum pixel_format format)
 
create_fb(format, prim_mode_params.mode->hdisplay,
  prim_mode_params.mode->vdisplay,
- LOCAL_I915_FORMAT_MOD_X_TILED, PLANE_PRI, &s->prim_pri);
+ opt.tiling, PLANE_PRI, &s->prim_pri);
create_fb(format, prim_mode_params.cursor.w,
  prim_mode_params.cursor.h, LOCAL_DRM_FORMAT_MOD_NONE,
  PLANE_CUR, &s->prim_cur);
create_fb(format, prim_mode_params.sprite.w,
- prim_mode_params.sprite.h, LOCAL_I915_FORMAT_MOD_X_TILED,
+ prim_mode_params.sprite.h, opt.tiling,
  PLANE_SPR, &s->prim_spr);
 
create_fb(format, offscreen_fb.w, offscreen_fb.h,
- LOCAL_I915_FORMAT_MOD_X_TILED, PLANE_PRI, &s->offscreen);
+ opt.tiling, PLANE_PRI, &s->offscreen);
 
create_shared_fb(format);
 
@@ -760,11 +762,11 @@ static void create_fbs(enum pixel_format format)
 
create_fb(format, scnd_mode_params.mode->hdisplay,
  scnd_mode_params.mode->vdisplay,
- LOCAL_I915_FORMAT_MOD_X_TILED, PLANE_PRI, &s->scnd_pri);
+ opt.tiling, PLANE_PRI, &s->scnd_pri);
create_fb(format, scnd_mode_params.cursor.w, scnd_mode_params.cursor.h,
  LOCAL_DRM_FORMAT_MOD_NONE, PLANE_CUR, &s->scnd_cur);
create_fb(format, scnd_mode_params.sprite.w, scnd_mode_params.sprite.h,
- LOCAL_I915_FORMAT_MOD_X_TILED, PLANE_SPR, &s->scnd_spr);
+ opt.tiling, PLANE_SPR, &s->scnd_spr);
 }
 
 static bool set_mode_for_params(struct modeset_params *params)
@@ -1241,7 +1243,7 @@ static void init_blue_crc(enum pixel_format format, bool 
mandatory_sink_crc)
 
create_fb(format, prim_mode_params.mode->hdisplay,
  prim_mode_params.mode->vdisplay,
- LOCAL_I915_FORMAT_MOD_X_TILED, PLANE_PRI, &blue);
+ opt.tiling, PLANE_PRI, &blue);
 
fill_fb(&blue, COLOR_PRIM_BG);
 
@@ -1276,7 +1278,7 @@ static void init_crcs(enum pixel_format format,
for (r = 0; r < pattern->n_rects; r++)
create_fb(format, prim_mode_params.mode->hdisplay,
  prim_mode_params.mode->vdisplay,
- LOCAL_I915_FORMAT_MOD_X_TILED, PLANE_PRI, 
&tmp_fbs[r]);
+ opt.tiling, PLANE_PRI, &tmp_fbs[r]);
 
for (r = 0; r < pattern->n_rects; r++)
fill_fb(&tmp_fbs[r], COLOR_PRIM_BG);
@@ -2374,7 +2376,7 @@ static void flip_subtest(const struct test_mode *t)
prepare_subtest(t, pattern);
 
create_fb(t->format, params->fb.fb->width, params->fb.fb->height,
- LOCAL_I915_FORMAT_MOD_X_TILED, t->plane, &fb2);
+ opt.tiling, t->plane, &fb2);
fill_fb(&fb2, bg_color);
orig_fb = params->fb.fb;
 
@@ -2420,7 +2422,7 @@ static void fliptrack_subtest(const struct test_mode *t, 
enum flip_type type)
prepare_subtest(t, pattern);
 
create_fb(t->format, params->fb.fb->width, params->fb.fb->height,
- LOCAL_I915_FORMAT_MOD_X_TILED, t->plane, &fb2);
+ opt.tiling, t->plane, &fb2);
fill_fb(&fb2, COLOR_PRIM_BG);
orig_fb = params->fb.fb;
 
@@ -2631,7 +2633,7 @@ static void fullscre