[igt-dev] [PATCH i-g-t] tests/kms: Cleanup to use linear modifier and cairo ctx

Modem, Bhanuprakash bhanuprakash.modem at intel.com
Mon Mar 13 04:53:17 UTC 2023


Hi Ville,

On Fri-10-03-2023 06:01 pm, Ville Syrjälä wrote:
> On Fri, Mar 10, 2023 at 03:35:25PM +0530, Bhanuprakash Modem wrote:
>> While creating the framebuffer use the default modifier as
>> DRM_FORMAT_MOD_LINEAR instead of using deprecated modifiers,
>> magic numbers, no_tiling modifier etc..
>>
>> This patch will also nullify each igt_get_cairo_ctx() call with
>> igt_put_cairo_ctx().
> 
> Please do one logical change per patch.

Sure, will float a separate patch.

> 
>>
>> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
>> ---
>>   tests/i915/kms_ccs.c              |  4 +---
>>   tests/i915/kms_cdclk.c            |  4 ++--
>>   tests/i915/kms_pipe_b_c_ivb.c     |  2 +-
>>   tests/i915/kms_psr_stress_test.c  |  2 +-
>>   tests/kms_addfb_basic.c           | 22 +++++++++----------
>>   tests/kms_async_flips.c           |  4 ++++
>>   tests/kms_atomic.c                | 24 ++++++++++-----------
>>   tests/kms_atomic_transition.c     |  4 ++--
>>   tests/kms_bw.c                    |  2 +-
>>   tests/kms_cursor_legacy.c         | 36 ++++++++++++++++++++-----------
>>   tests/kms_display_modes.c         |  7 +++---
>>   tests/kms_force_connector_basic.c |  4 ++--
>>   tests/kms_getfb.c                 |  8 +++----
>>   tests/kms_hdr.c                   |  9 +++++---
>>   tests/kms_lease.c                 |  2 +-
>>   tests/kms_plane_cursor.c          | 12 +++++------
>>   tests/kms_plane_scaling.c         | 20 ++++++++---------
>>   tests/kms_prime.c                 |  2 +-
>>   tests/kms_scaling_modes.c         |  4 ++--
>>   tests/kms_universal_plane.c       |  4 ++--
>>   tests/kms_writeback.c             |  1 +
>>   21 files changed, 97 insertions(+), 80 deletions(-)
>>
>> diff --git a/tests/i915/kms_ccs.c b/tests/i915/kms_ccs.c
>> index 9be3fa252..18d48fb80 100644
>> --- a/tests/i915/kms_ccs.c
>> +++ b/tests/i915/kms_ccs.c
>> @@ -393,10 +393,8 @@ static void generate_fb(data_t *data, struct igt_fb *fb,
>>   	 */
>>   	if (fb_flags & FB_COMPRESSED)
>>   		modifier = data->ccs_modifier;
>> -	else if (!(fb_flags & FB_HAS_PLANE))
>> -		modifier = DRM_FORMAT_MOD_LINEAR;
>>   	else
>> -		modifier = 0;
>> +		modifier = DRM_FORMAT_MOD_LINEAR;
> 
> That one could an explanation on its own since it's not a simple sed
> job.

We need to use either compressed or linear modifier to test [*].
Also, the 0 (DRM_FORMAT_MOD_NONE) is deprecated and we must use linear.

[*]: 
https://cgit.freedesktop.org/drm/igt-gpu-tools/tree/tests/i915/kms_ccs.c#n389

- Bhanu

> 
>>   
>>   	create_fb_prepare_add(data->drm_fd, width, height,
>>   			      data->format, modifier,
>> diff --git a/tests/i915/kms_cdclk.c b/tests/i915/kms_cdclk.c
>> index 991a7c507..f3046c95a 100644
>> --- a/tests/i915/kms_cdclk.c
>> +++ b/tests/i915/kms_cdclk.c
>> @@ -158,7 +158,7 @@ static void test_plane_scaling(data_t *data, enum pipe pipe, igt_output_t *outpu
>>   		igt_create_color_pattern_fb(display->drm_fd,
>>   					    mode->hdisplay, mode->vdisplay,
>>   					    DRM_FORMAT_XRGB8888,
>> -					    I915_TILING_NONE,
>> +					    DRM_FORMAT_MOD_LINEAR,
>>   					    0.0, 0.0, 0.0, &fb);
>>   		igt_plane_set_fb(primary, &fb);
>>   
>> @@ -212,7 +212,7 @@ static void test_mode_transition(data_t *data, enum pipe pipe, igt_output_t *out
>>   	igt_create_color_pattern_fb(display->drm_fd,
>>   				    mode->hdisplay, mode->vdisplay,
>>   				    DRM_FORMAT_XRGB8888,
>> -				    I915_TILING_NONE,
>> +				    DRM_FORMAT_MOD_LINEAR,
>>   				    0.0, 0.0, 0.0, &fb);
>>   
>>   	/* switch to lower resolution */
>> diff --git a/tests/i915/kms_pipe_b_c_ivb.c b/tests/i915/kms_pipe_b_c_ivb.c
>> index 05ac87702..af11e3262 100644
>> --- a/tests/i915/kms_pipe_b_c_ivb.c
>> +++ b/tests/i915/kms_pipe_b_c_ivb.c
>> @@ -92,7 +92,7 @@ set_mode_on_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
>>   
>>   	fb_id = igt_create_color_fb(data->drm_fd,
>>   				    mode->hdisplay, mode->vdisplay,
>> -				    DRM_FORMAT_XRGB8888, I915_TILING_NONE,
>> +				    DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
>>   				    1.0, 1.0, 1.0, &fb);
>>   	igt_assert_lte(0, fb_id);
>>   
>> diff --git a/tests/i915/kms_psr_stress_test.c b/tests/i915/kms_psr_stress_test.c
>> index daac41d44..9b7ddda84 100644
>> --- a/tests/i915/kms_psr_stress_test.c
>> +++ b/tests/i915/kms_psr_stress_test.c
>> @@ -374,4 +374,4 @@ igt_main
>>   		close(data.debugfs_fd);
>>   		close(data.drm_fd);
>>   	}
>> -}
>> \ No newline at end of file
>> +}
>> diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c
>> index c58783d54..b4526eee6 100644
>> --- a/tests/kms_addfb_basic.c
>> +++ b/tests/kms_addfb_basic.c
>> @@ -68,10 +68,10 @@ static void invalid_tests(int fd)
>>   
>>   	igt_fixture {
>>   		gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
>> -			DRM_FORMAT_XRGB8888, 0, 0, NULL, NULL, NULL);
>> +			DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, NULL, NULL, NULL);
>>   		igt_assert(gem_bo);
>>   		gem_bo_small = igt_create_bo_with_dimensions(fd, 1024, 1023,
>> -			DRM_FORMAT_XRGB8888, 0, 0, NULL, NULL, NULL);
>> +			DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, NULL, NULL, NULL);
>>   		igt_assert(gem_bo_small);
>>   
>>   		f.handles[0] = gem_bo;
>> @@ -276,7 +276,7 @@ static void pitch_tests(int fd)
>>   
>>   	igt_fixture {
>>   		gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
>> -			DRM_FORMAT_XRGB8888, 0, 0, NULL, NULL, NULL);
>> +			DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, NULL, NULL, NULL);
>>   		igt_assert(gem_bo);
>>   	}
>>   
>> @@ -417,10 +417,10 @@ static void size_tests(int fd)
>>   		igt_display_require(&display, fd);
>>   
>>   		gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
>> -			DRM_FORMAT_XRGB8888, 0, 0, NULL, NULL, NULL);
>> +			DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, NULL, NULL, NULL);
>>   		igt_assert(gem_bo);
>>   		gem_bo_small = igt_create_bo_with_dimensions(fd, 1024, 1023,
>> -			DRM_FORMAT_XRGB8888, 0, 0, NULL, NULL, NULL);
>> +			DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, NULL, NULL, NULL);
>>   		igt_assert(gem_bo_small);
>>   	}
>>   
>> @@ -513,7 +513,7 @@ static void addfb25_tests(int fd)
>>   
>>   	igt_fixture {
>>   		gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
>> -			DRM_FORMAT_XRGB8888, 0, 0, NULL, NULL, NULL);
>> +			DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, NULL, NULL, NULL);
>>   		igt_assert(gem_bo);
>>   
>>   		memset(&f, 0, sizeof(f));
>> @@ -597,10 +597,10 @@ static void addfb25_ytile(int fd)
>>   		igt_display_require(&display, fd);
>>   
>>   		gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
>> -			DRM_FORMAT_XRGB8888, 0, 0, NULL, NULL, NULL);
>> +			DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, NULL, NULL, NULL);
>>   		igt_assert(gem_bo);
>>   		gem_bo_small = igt_create_bo_with_dimensions(fd, 1024, 1023,
>> -			DRM_FORMAT_XRGB8888, 0, 0, NULL, NULL, NULL);
>> +			DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, NULL, NULL, NULL);
>>   		igt_assert(gem_bo_small);
>>   
>>   		memset(&f, 0, sizeof(f));
>> @@ -670,7 +670,7 @@ static void addfb25_4tile(int fd)
>>   		igt_display_require(&display, fd);
>>   
>>   		gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
>> -				DRM_FORMAT_XRGB8888, 0, 0, NULL, NULL, NULL);
>> +				DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, NULL, NULL, NULL);
>>   		igt_assert(gem_bo);
>>   
>>   		memset(&f, 0, sizeof(f));
>> @@ -719,7 +719,7 @@ static void prop_tests(int fd)
>>   
>>   	igt_fixture {
>>   		gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
>> -			DRM_FORMAT_XRGB8888, 0, 0, NULL, NULL, NULL);
>> +			DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, NULL, NULL, NULL);
>>   		igt_assert(gem_bo);
>>   
>>   		f.handles[0] = gem_bo;
>> @@ -780,7 +780,7 @@ static void master_tests(int fd)
>>   
>>   	igt_fixture {
>>   		gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
>> -			DRM_FORMAT_XRGB8888, 0, 0, NULL, NULL, NULL);
>> +			DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, NULL, NULL, NULL);
>>   		igt_assert(gem_bo);
>>   
>>   		f.handles[0] = gem_bo;
>> diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
>> index 55be0bd87..34808f401 100644
>> --- a/tests/kms_async_flips.c
>> +++ b/tests/kms_async_flips.c
>> @@ -494,9 +494,11 @@ static void test_crc(data_t *data)
>>   
>>   	cr = igt_get_cairo_ctx(data->drm_fd, &data->bufs[frame]);
>>   	igt_paint_color(cr, 0, 0, data->bufs[frame].width, data->bufs[frame].height, 1.0, 0.0, 0.0);
>> +	igt_put_cairo_ctx(cr);
>>   
>>   	cr = igt_get_cairo_ctx(data->drm_fd, &data->bufs[!frame]);
>>   	igt_paint_color(cr, 0, 0, data->bufs[!frame].width, data->bufs[!frame].height, 1.0, 0.0, 0.0);
>> +	igt_put_cairo_ctx(cr);
>>   
>>   	ret = drmModeSetCrtc(data->drm_fd, data->crtc_id, data->bufs[frame].fb_id, 0, 0,
>>   			     &data->output->config.connector->connector_id, 1,
>> @@ -518,6 +520,7 @@ static void test_crc(data_t *data)
>>   		/* fill the next fb with the expected color */
>>   		cr = igt_get_cairo_ctx(data->drm_fd, &data->bufs[frame]);
>>   		igt_paint_color(cr, 0, 0, 1, data->bufs[frame].height, 1.0, 0.0, 0.0);
>> +		igt_put_cairo_ctx(cr);
>>   
>>   		data->flip_pending = true;
>>   		ret = drmModePageFlip(data->drm_fd, data->crtc_id, data->bufs[frame].fb_id,
>> @@ -530,6 +533,7 @@ static void test_crc(data_t *data)
>>   		frame = !frame;
>>   		cr = igt_get_cairo_ctx(data->drm_fd, &data->bufs[frame]);
>>   		igt_paint_color_rand(cr, 0, 0, 1, data->bufs[frame].height);
>> +		igt_put_cairo_ctx(cr);
>>   	}
>>   
>>   	igt_pipe_crc_stop(data->pipe_crc);
>> diff --git a/tests/kms_atomic.c b/tests/kms_atomic.c
>> index 2a3fb74be..e7d1cbd75 100644
>> --- a/tests/kms_atomic.c
>> +++ b/tests/kms_atomic.c
>> @@ -305,12 +305,12 @@ plane_primary_overlay_mutable_zpos(igt_pipe_t *pipe, igt_output_t *output,
>>   	uint32_t h_overlay = mode->vdisplay / 2;
>>   
>>   	igt_create_color_pattern_fb(pipe->display->drm_fd,
>> -				    w, h, format_primary, I915_TILING_NONE,
>> +				    w, h, format_primary, DRM_FORMAT_MOD_LINEAR,
>>   				    0.2, 0.2, 0.2, &fb_primary);
>>   
>>   	igt_create_color_pattern_fb(pipe->display->drm_fd,
>>   				    w_overlay, h_overlay,
>> -				    format_overlay, I915_TILING_NONE,
>> +				    format_overlay, DRM_FORMAT_MOD_LINEAR,
>>   				    0.2, 0.2, 0.2, &fb_overlay);
>>   
>>   	/* Draw a hole in the overlay */
>> @@ -404,7 +404,7 @@ plane_immutable_zpos(igt_display_t *display, igt_pipe_t *pipe,
>>   	igt_create_color_fb(display->drm_fd,
>>   			    w_lower, h_lower,
>>   			    DRM_FORMAT_XRGB8888,
>> -			    I915_TILING_NONE,
>> +			    DRM_FORMAT_MOD_LINEAR,
>>   			    0.0, 0.0, 0.0, &fb_ref);
>>   
>>   	/* create reference image */
>> @@ -444,14 +444,14 @@ plane_immutable_zpos(igt_display_t *display, igt_pipe_t *pipe,
>>   	fb_id_lower = igt_create_color_fb(display->drm_fd,
>>   					  w_lower, h_lower,
>>   					  DRM_FORMAT_XRGB8888,
>> -					  I915_TILING_NONE,
>> +					  DRM_FORMAT_MOD_LINEAR,
>>   					  0.0, 0.0, 1.0, &fb_lower);
>>   	igt_assert(fb_id_lower);
>>   
>>   	fb_id_upper = igt_create_color_fb(display->drm_fd,
>>   					  w_upper, h_upper,
>>   					  DRM_FORMAT_XRGB8888,
>> -					  I915_TILING_NONE,
>> +					  DRM_FORMAT_MOD_LINEAR,
>>   					  1.0, 1.0, 0.0, &fb_upper);
>>   	igt_assert(fb_id_upper);
>>   
>> @@ -516,7 +516,7 @@ static void plane_overlay(igt_pipe_t *pipe, igt_output_t *output, igt_plane_t *p
>>   	igt_require(format != 0);
>>   
>>   	igt_create_pattern_fb(pipe->display->drm_fd, w, h,
>> -			      format, I915_TILING_NONE, &fb);
>> +			      format, DRM_FORMAT_MOD_LINEAR, &fb);
>>   
>>   	igt_plane_set_fb(plane, &fb);
>>   	igt_plane_set_position(plane, w/2, h/2);
>> @@ -551,7 +551,7 @@ static void plane_primary(igt_pipe_t *pipe, igt_plane_t *plane, struct igt_fb *f
>>   
>>   	igt_create_color_pattern_fb(pipe->display->drm_fd,
>>   				    fb->width, fb->height,
>> -				    fb->drm_format, I915_TILING_NONE,
>> +				    fb->drm_format, DRM_FORMAT_MOD_LINEAR,
>>   				    0.2, 0.2, 0.2, &fb2);
>>   
>>   	/* Flip the primary plane using the atomic API, and double-check
>> @@ -600,7 +600,7 @@ static void test_only(igt_pipe_t *pipe_obj,
>>   
>>   	igt_create_pattern_fb(pipe_obj->display->drm_fd,
>>   			     mode->hdisplay, mode->vdisplay,
>> -			     format, I915_TILING_NONE, &fb);
>> +			     format, DRM_FORMAT_MOD_LINEAR, &fb);
>>   	igt_plane_set_fb(primary, &fb);
>>   	igt_output_set_pipe(output, pipe_obj->pipe);
>>   
>> @@ -737,7 +737,7 @@ static void plane_invalid_params(igt_pipe_t *pipe,
>>   	/* Create a framebuffer too small for the plane configuration. */
>>   	igt_create_pattern_fb(pipe->display->drm_fd,
>>   			      fb->width - 1, fb->height - 1,
>> -			      fb->drm_format, I915_TILING_NONE, &fb2);
>> +			      fb->drm_format, DRM_FORMAT_MOD_LINEAR, &fb2);
>>   
>>   	igt_plane_set_prop_value(plane, IGT_PLANE_FB_ID, fb2.fb_id);
>>   	plane_commit_atomic_err(plane, ATOMIC_RELAX_NONE, ENOSPC);
>> @@ -1072,7 +1072,7 @@ static void atomic_plane_damage(igt_pipe_t *pipe, igt_plane_t *plane, struct igt
>>   
>>   	/* Color fb with white rect at center */
>>   	igt_create_color_fb(pipe->display->drm_fd, fb->width, fb->height,
>> -			    fb->drm_format, I915_TILING_NONE, 0.2, 0.2, 0.2,
>> +			    fb->drm_format, DRM_FORMAT_MOD_LINEAR, 0.2, 0.2, 0.2,
>>   			    &fb_1);
>>   	cr_1 = igt_get_cairo_ctx(pipe->display->drm_fd, &fb_1);
>>   	igt_paint_color(cr_1, fb->width/4, fb->height/4, fb->width/2,
>> @@ -1111,7 +1111,7 @@ static void atomic_plane_damage(igt_pipe_t *pipe, igt_plane_t *plane, struct igt
>>   	 * issue plane update with damage and verify the state.
>>   	 */
>>   	igt_create_color_fb(pipe->display->drm_fd, fb->width, fb->height,
>> -			    fb->drm_format, I915_TILING_NONE, 0.2, 0.2, 0.2,
>> +			    fb->drm_format, DRM_FORMAT_MOD_LINEAR, 0.2, 0.2, 0.2,
>>   			    &fb_2);
>>   
>>   	damage[0].x1 = fb->width/2;
>> @@ -1141,7 +1141,7 @@ static void atomic_plane_damage(igt_pipe_t *pipe, igt_plane_t *plane, struct igt
>>   	/* Reszie fb_1 to be bigger than plane */
>>   	igt_remove_fb(pipe->display->drm_fd, &fb_1);
>>   	igt_create_color_fb(pipe->display->drm_fd, fb->width * 2, fb->height,
>> -			    fb->drm_format, I915_TILING_NONE, 0.2, 0.2, 0.2,
>> +			    fb->drm_format, DRM_FORMAT_MOD_LINEAR, 0.2, 0.2, 0.2,
>>   			    &fb_1);
>>   
>>   	damage[0].x1 = fb->width;
>> diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
>> index 64e7e7091..d32be0952 100644
>> --- a/tests/kms_atomic_transition.c
>> +++ b/tests/kms_atomic_transition.c
>> @@ -824,9 +824,9 @@ retry:
>>   	}
>>   
>>   	igt_create_pattern_fb(data->drm_fd, width, height,
>> -				   DRM_FORMAT_XRGB8888, 0, &data->fbs[0]);
>> +				   DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, &data->fbs[0]);
>>   	igt_create_color_pattern_fb(data->drm_fd, width, height,
>> -				    DRM_FORMAT_XRGB8888, 0, .5, .5, .5, &data->fbs[1]);
>> +				    DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, .5, .5, .5, &data->fbs[1]);
>>   
>>   	for_each_pipe(&data->display, i) {
>>   		igt_pipe_t *pipe = &data->display.pipes[i];
>> diff --git a/tests/kms_bw.c b/tests/kms_bw.c
>> index b1dfadd69..b66473e60 100644
>> --- a/tests/kms_bw.c
>> +++ b/tests/kms_bw.c
>> @@ -169,7 +169,7 @@ static void run_test_linear_tiling(data_t *data, int pipe, const drmModeModeInfo
>>   
>>   		igt_create_color_fb(display->drm_fd, mode->hdisplay,
>>   				    mode->vdisplay, DRM_FORMAT_XRGB8888,
>> -				    DRM_FORMAT_MOD_NONE, 1.f, 0.f, 0.f,
>> +				    DRM_FORMAT_MOD_LINEAR, 1.f, 0.f, 0.f,
>>   				    &buffer[i]);
>>   
>>   		igt_output_set_pipe(output, i);
>> diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
>> index feea1ac83..a8862bdfb 100644
>> --- a/tests/kms_cursor_legacy.c
>> +++ b/tests/kms_cursor_legacy.c
>> @@ -193,7 +193,7 @@ static igt_output_t *set_fb_on_crtc(igt_display_t *display, enum pipe pipe, stru
>>   
>>   		igt_create_pattern_fb(display->drm_fd,
>>   			      mode->hdisplay, mode->vdisplay,
>> -			      DRM_FORMAT_XRGB8888, I915_TILING_NONE, fb_info);
>> +			      DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, fb_info);
>>   
>>   		primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
>>   		igt_plane_set_fb(primary, fb_info);
>> @@ -386,7 +386,7 @@ static void prepare_flip_test(igt_display_t *display,
>>   
>>   		igt_skip_on(width <= 64 && height <= 64);
>>   		igt_create_color_fb(display->drm_fd, width, height,
>> -				    DRM_FORMAT_ARGB8888, 0, 1., 0., .7, cursor_fb2);
>> +				    DRM_FORMAT_ARGB8888, DRM_FORMAT_MOD_LINEAR, 1., 0., .7, cursor_fb2);
>>   
>>   		arg[0].flags = arg[1].flags = DRM_MODE_CURSOR_BO;
>>   		arg[1].handle = cursor_fb2->gem_handle;
>> @@ -412,7 +412,7 @@ static void prepare_flip_test(igt_display_t *display,
>>   		            display->pipes[flip_pipe].planes[1].type != DRM_PLANE_TYPE_CURSOR);
>>   
>>   		igt_create_color_pattern_fb(display->drm_fd, prim_fb->width, prim_fb->height,
>> -					    DRM_FORMAT_ARGB8888, 0, .1, .1, .1, argb_fb);
>> +					    DRM_FORMAT_ARGB8888, DRM_FORMAT_MOD_LINEAR, .1, .1, .1, argb_fb);
>>   	}
>>   }
>>   
>> @@ -458,9 +458,11 @@ static void flip(igt_display_t *display,
>>   		}
>>   	}
>>   
>> -	igt_create_color_fb(display->drm_fd, fb_info.width, fb_info.height, DRM_FORMAT_ARGB8888, 0, .5, .5, .5, &cursor_fb);
>> +	igt_create_color_fb(display->drm_fd, fb_info.width, fb_info.height,
>> +			    DRM_FORMAT_ARGB8888, DRM_FORMAT_MOD_LINEAR, .5, .5, .5, &cursor_fb);
>>   
>> -	igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888, 0, 1., 1., 1., &cursor_fb);
>> +	igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888,
>> +			    DRM_FORMAT_MOD_LINEAR, 1., 1., 1., &cursor_fb);
>>   	cursor = set_cursor_on_pipe(display, cursor_pipe, &cursor_fb);
>>   	populate_cursor_args(display, cursor_pipe, arg, &cursor_fb);
>>   
>> @@ -564,7 +566,8 @@ static void basic_flip_cursor(igt_display_t *display,
>>   
>>   	igt_require((output = set_fb_on_crtc(display, pipe, &fb_info)));
>>   
>> -	igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888, 0, 1., 1., 1., &cursor_fb);
>> +	igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888,
>> +			    DRM_FORMAT_MOD_LINEAR, 1., 1., 1., &cursor_fb);
>>   	cursor = set_cursor_on_pipe(display, pipe, &cursor_fb);
>>   	populate_cursor_args(display, pipe, arg, &cursor_fb);
>>   
>> @@ -728,7 +731,8 @@ static void flip_vs_cursor(igt_display_t *display, enum flip_test mode, int nloo
>>   
>>   	igt_require((output = set_fb_on_crtc(display, pipe, &fb_info)));
>>   
>> -	igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888, 0, 1., 1., 1., &cursor_fb);
>> +	igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888,
>> +			    DRM_FORMAT_MOD_LINEAR, 1., 1., 1., &cursor_fb);
>>   	cursor = set_cursor_on_pipe(display, pipe, &cursor_fb);
>>   	populate_cursor_args(display, pipe, arg, &cursor_fb);
>>   
>> @@ -852,7 +856,8 @@ static void nonblocking_modeset_vs_cursor(igt_display_t *display, int loops)
>>   	igt_require(display->is_atomic);
>>   	igt_require((output = set_fb_on_crtc(display, pipe, &fb_info)));
>>   	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
>> -	igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888, 0, 1., 1., 1., &cursor_fb);
>> +	igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888,
>> +			    DRM_FORMAT_MOD_LINEAR, 1., 1., 1., &cursor_fb);
>>   	cursor = set_cursor_on_pipe(display, pipe, &cursor_fb);
>>   	populate_cursor_args(display, pipe, arg, &cursor_fb);
>>   	arg[0].flags |= DRM_MODE_CURSOR_BO;
>> @@ -972,7 +977,8 @@ static void two_screens_flip_vs_cursor(igt_display_t *display, int nloops, bool
>>   		igt_require((output2 = set_fb_on_crtc(display, pipe2, &fb2_info)));
>>   	}
>>   
>> -	igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888, 0, 1., 1., 1., &cursor_fb);
>> +	igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888,
>> +			    DRM_FORMAT_MOD_LINEAR, 1., 1., 1., &cursor_fb);
>>   	cursor = set_cursor_on_pipe(display, pipe, &cursor_fb);
>>   	populate_cursor_args(display, pipe, arg1, &cursor_fb);
>>   
>> @@ -1137,7 +1143,8 @@ static void cursor_vs_flip(igt_display_t *display, enum flip_test mode, int nloo
>>   	igt_require((output = set_fb_on_crtc(display, pipe, &fb_info)));
>>   	vrefresh = igt_output_get_mode(output)->vrefresh;
>>   
>> -	igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888, 0, 1., 1., 1., &cursor_fb);
>> +	igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888,
>> +			    DRM_FORMAT_MOD_LINEAR, 1., 1., 1., &cursor_fb);
>>   	cursor = set_cursor_on_pipe(display, pipe, &cursor_fb);
>>   	populate_cursor_args(display, pipe, arg, &cursor_fb);
>>   
>> @@ -1249,7 +1256,8 @@ static void two_screens_cursor_vs_flip(igt_display_t *display, int nloops, bool
>>   		igt_require((outputs[1] = set_fb_on_crtc(display, pipe[1], &fb_info[1])));
>>   	}
>>   
>> -	igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888, 0, 1., 1., 1., &cursor_fb);
>> +	igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888,
>> +			    DRM_FORMAT_MOD_LINEAR, 1., 1., 1., &cursor_fb);
>>   
>>   	cursors[0] = set_cursor_on_pipe(display, pipe[0], &cursor_fb);
>>   	populate_cursor_args(display, pipe[0], arg[0], &cursor_fb);
>> @@ -1357,7 +1365,8 @@ static void flip_vs_cursor_crc(igt_display_t *display, bool atomic)
>>   
>>   	igt_require((output = set_fb_on_crtc(display, pipe, &fb_info)));
>>   
>> -	igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888, 0, 1., 1., 1., &cursor_fb);
>> +	igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888,
>> +			    DRM_FORMAT_MOD_LINEAR, 1., 1., 1., &cursor_fb);
>>   	populate_cursor_args(display, pipe, arg, &cursor_fb);
>>   
>>   	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
>> @@ -1430,7 +1439,8 @@ static void flip_vs_cursor_busy_crc(igt_display_t *display, bool atomic)
>>   	igt_create_color_pattern_fb(display->drm_fd, fb_info[0].width, fb_info[0].height,
>>   				    DRM_FORMAT_XRGB8888, I915_FORMAT_MOD_X_TILED, .1, .1, .1, &fb_info[1]);
>>   
>> -	igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888, 0, 1., 1., 1., &cursor_fb);
>> +	igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888,
>> +			    DRM_FORMAT_MOD_LINEAR, 1., 1., 1., &cursor_fb);
>>   	populate_cursor_args(display, pipe, arg, &cursor_fb);
>>   
>>   	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
>> diff --git a/tests/kms_display_modes.c b/tests/kms_display_modes.c
>> index e4191811e..c2e98c3c6 100644
>> --- a/tests/kms_display_modes.c
>> +++ b/tests/kms_display_modes.c
>> @@ -64,9 +64,9 @@ static void run_extendedmode_basic(data_t *data, int pipe1, int pipe2)
>>   	pipe_crc[1] = igt_pipe_crc_new(data->drm_fd, pipe2, IGT_PIPE_CRC_SOURCE_AUTO);
>>   
>>   	igt_create_color_fb(data->drm_fd, mode[0]->hdisplay, mode[0]->vdisplay,
>> -			     DRM_FORMAT_XRGB8888, 0, 1, 0, 0, &fbs[0]);
>> +			    DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 1, 0, 0, &fbs[0]);
>>   	igt_create_color_fb(data->drm_fd, mode[1]->hdisplay, mode[1]->vdisplay,
>> -			     DRM_FORMAT_XRGB8888, 0, 0, 0, 1, &fbs[1]);
>> +			    DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, 0, 1, &fbs[1]);
>>   
>>   	plane[0] = igt_pipe_get_plane_type(&display->pipes[pipe1], DRM_PLANE_TYPE_PRIMARY);
>>   	plane[1] = igt_pipe_get_plane_type(&display->pipes[pipe2], DRM_PLANE_TYPE_PRIMARY);
>> @@ -88,7 +88,8 @@ static void run_extendedmode_basic(data_t *data, int pipe1, int pipe2)
>>   	width = mode[0]->hdisplay + mode[1]->hdisplay;
>>   	height = max(mode[0]->vdisplay, mode[1]->vdisplay);
>>   
>> -	igt_create_fb(data->drm_fd, width, height, DRM_FORMAT_XRGB8888, 0, &fb);
>> +	igt_create_fb(data->drm_fd, width, height,
>> +		      DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, &fb);
>>   	cr = igt_get_cairo_ctx(data->drm_fd, &fb);
>>   	igt_paint_color(cr, 0, 0, mode[0]->hdisplay, mode[0]->vdisplay, 1, 0, 0);
>>   	igt_paint_color(cr, mode[0]->hdisplay, 0, mode[1]->hdisplay, mode[1]->vdisplay, 0, 0, 1);
>> diff --git a/tests/kms_force_connector_basic.c b/tests/kms_force_connector_basic.c
>> index cde47e925..4ff1efe3b 100644
>> --- a/tests/kms_force_connector_basic.c
>> +++ b/tests/kms_force_connector_basic.c
>> @@ -68,8 +68,8 @@ static void force_load_detect(int drm_fd, drmModeConnectorPtr connector, drmMode
>>   	/* No load detect on HDMI. */
>>   	igt_require(connector->connector_type == DRM_MODE_CONNECTOR_VGA);
>>   
>> -	igt_create_fb(drm_fd, w, h, DRM_FORMAT_XRGB8888, 0, &xrgb_fb);
>> -	igt_create_fb(drm_fd, w, h, DRM_FORMAT_ARGB8888, 0, &argb_fb);
>> +	igt_create_fb(drm_fd, w, h, DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, &xrgb_fb);
>> +	igt_create_fb(drm_fd, w, h, DRM_FORMAT_ARGB8888, DRM_FORMAT_MOD_LINEAR, &argb_fb);
>>   	igt_assert(drmSetClientCap(drm_fd, DRM_CLIENT_CAP_UNIVERSAL_PLANES, 1) == 0);
>>   
>>   	/*
>> diff --git a/tests/kms_getfb.c b/tests/kms_getfb.c
>> index 2e4552a0c..813417e77 100644
>> --- a/tests/kms_getfb.c
>> +++ b/tests/kms_getfb.c
>> @@ -174,7 +174,7 @@ static void test_handle_input(int fd)
>>   		add.pixel_format = DRM_FORMAT_XRGB8888;
>>   		add.pitches[0] = 1024*4;
>>   		add.handles[0] = igt_create_bo_with_dimensions(fd, 1024, 1024,
>> -			DRM_FORMAT_XRGB8888, 0, 0, NULL, NULL, NULL);
>> +			DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, NULL, NULL, NULL);
>>   		igt_require(add.handles[0] != 0);
>>   		do_ioctl(fd, DRM_IOCTL_MODE_ADDFB2, &add);
>>   	}
>> @@ -229,7 +229,7 @@ static void test_duplicate_handles(int fd)
>>   		add.pixel_format = DRM_FORMAT_XRGB8888;
>>   		add.pitches[0] = 1024*4;
>>   		add.handles[0] = igt_create_bo_with_dimensions(fd, 1024, 1024,
>> -			DRM_FORMAT_XRGB8888, 0, 0, NULL, NULL, NULL);
>> +			DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, NULL, NULL, NULL);
>>   		igt_assert(add.handles[0]);
>>   		do_ioctl(fd, DRM_IOCTL_MODE_ADDFB2, &add);
>>   	}
>> @@ -296,7 +296,7 @@ static void test_getfb2(int fd)
>>   		add_basic.pixel_format = DRM_FORMAT_XRGB8888;
>>   		add_basic.pitches[0] = 1024*4;
>>   		add_basic.handles[0] = igt_create_bo_with_dimensions(fd, 1024, 1024,
>> -			DRM_FORMAT_XRGB8888, 0, 0, NULL, NULL, NULL);
>> +			DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, NULL, NULL, NULL);
>>   		igt_assert(add_basic.handles[0]);
>>   		do_ioctl(fd, DRM_IOCTL_MODE_ADDFB2, &add_basic);
>>   
>> @@ -403,7 +403,7 @@ static void test_handle_protection(void) {
>>   		non_master_add.pixel_format = DRM_FORMAT_XRGB8888;
>>   		non_master_add.pitches[0] = 1024*4;
>>   		non_master_add.handles[0] = igt_create_bo_with_dimensions(non_master_fd, 1024, 1024,
>> -			DRM_FORMAT_XRGB8888, 0, 0, NULL, NULL, NULL);
>> +			DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, NULL, NULL, NULL);
>>   		igt_require(non_master_add.handles[0] != 0);
>>   		do_ioctl(non_master_fd, DRM_IOCTL_MODE_ADDFB2, &non_master_add);
>>   	}
>> diff --git a/tests/kms_hdr.c b/tests/kms_hdr.c
>> index 36669ce81..23f12c14a 100644
>> --- a/tests/kms_hdr.c
>> +++ b/tests/kms_hdr.c
>> @@ -148,7 +148,8 @@ static void test_bpc_switch_on_output(data_t *data, enum pipe pipe,
>>   	int afb_id, ret;
>>   
>>   	/* 10-bit formats are slow, so limit the size. */
>> -	afb_id = igt_create_fb(data->fd, 512, 512, DRM_FORMAT_XRGB2101010, 0, &afb);
>> +	afb_id = igt_create_fb(data->fd, 512, 512,
>> +			       DRM_FORMAT_XRGB2101010, DRM_FORMAT_MOD_LINEAR, &afb);
>>   	igt_assert(afb_id);
>>   
>>   	draw_hdr_pattern(&afb);
>> @@ -396,7 +397,8 @@ static void test_static_toggle(data_t *data, enum pipe pipe,
>>   	int afb_id;
>>   
>>   	/* 10-bit formats are slow, so limit the size. */
>> -	afb_id = igt_create_fb(data->fd, 512, 512, DRM_FORMAT_XRGB2101010, 0, &afb);
>> +	afb_id = igt_create_fb(data->fd, 512, 512,
>> +			       DRM_FORMAT_XRGB2101010, DRM_FORMAT_MOD_LINEAR, &afb);
>>   	igt_assert(afb_id);
>>   
>>   	draw_hdr_pattern(&afb);
>> @@ -478,7 +480,8 @@ static void test_static_swap(data_t *data, enum pipe pipe, igt_output_t *output)
>>   	struct hdr_output_metadata hdr;
>>   
>>   	/* 10-bit formats are slow, so limit the size. */
>> -	afb_id = igt_create_fb(data->fd, 512, 512, DRM_FORMAT_XRGB2101010, 0, &afb);
>> +	afb_id = igt_create_fb(data->fd, 512, 512,
>> +			       DRM_FORMAT_XRGB2101010, DRM_FORMAT_MOD_LINEAR, &afb);
>>   	igt_assert(afb_id);
>>   
>>   	draw_hdr_pattern(&afb);
>> diff --git a/tests/kms_lease.c b/tests/kms_lease.c
>> index 6bd5bc157..f16512efd 100644
>> --- a/tests/kms_lease.c
>> +++ b/tests/kms_lease.c
>> @@ -207,7 +207,7 @@ static int paint_fb(int drm_fd, struct igt_fb *fb, const char *test_name,
>>   	igt_cairo_printf_line(cr, align_hcenter, 10, "%s", connector_str);
>>   	igt_cairo_printf_line(cr, align_hcenter, 10, "%s", pipe_str);
>>   
>> -	cairo_destroy(cr);
>> +	igt_put_cairo_ctx(cr);
>>   
>>   	return 0;
>>   }
>> diff --git a/tests/kms_plane_cursor.c b/tests/kms_plane_cursor.c
>> index 9b27586c1..7a677ebbe 100644
>> --- a/tests/kms_plane_cursor.c
>> +++ b/tests/kms_plane_cursor.c
>> @@ -236,19 +236,19 @@ static void test_cursor(data_t *data, int size, unsigned int flags)
>>   
>>   	test_cleanup(data);
>>   
>> -	igt_create_color_fb(data->drm_fd, sw, sh, DRM_FORMAT_XRGB8888, 0,
>> -			    1.0, 1.0, 1.0, &data->pfb);
>> +	igt_create_color_fb(data->drm_fd, sw, sh, DRM_FORMAT_XRGB8888,
>> +			    DRM_FORMAT_MOD_LINEAR, 1.0, 1.0, 1.0, &data->pfb);
>>   
>>   	if (flags & TEST_OVERLAY) {
>>   		int width = (flags & TEST_VIEWPORT) ? data->or.w + pad : data->or.w;
>>   		int height = (flags & TEST_VIEWPORT) ? data->or.h + pad : data->or.h;
>>   
>> -		igt_create_color_fb(data->drm_fd, width, height,
>> -				    DRM_FORMAT_XRGB8888, 0, 0.5, 0.5, 0.5, &data->ofb);
>> +		igt_create_color_fb(data->drm_fd, width, height, DRM_FORMAT_XRGB8888,
>> +				    DRM_FORMAT_MOD_LINEAR, 0.5, 0.5, 0.5, &data->ofb);
>>   	}
>>   
>> -	igt_create_color_fb(data->drm_fd, size, size, DRM_FORMAT_ARGB8888, 0,
>> -			    1.0, 0.0, 1.0, &data->cfb);
>> +	igt_create_color_fb(data->drm_fd, size, size, DRM_FORMAT_ARGB8888,
>> +			    DRM_FORMAT_MOD_LINEAR, 1.0, 0.0, 1.0, &data->cfb);
>>   
>>   	igt_plane_set_fb(data->primary, &data->pfb);
>>   	igt_output_set_pipe(data->output, data->pipe_id);
>> diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
>> index c6c6f3ec6..9e45af947 100644
>> --- a/tests/kms_plane_scaling.c
>> +++ b/tests/kms_plane_scaling.c
>> @@ -702,7 +702,7 @@ static void setup_fb(int fd, int width, int height,
>>   {
>>   	igt_create_color_pattern_fb(fd, width, height,
>>   				    DRM_FORMAT_XRGB8888,
>> -				    I915_TILING_NONE,
>> +				    DRM_FORMAT_MOD_LINEAR,
>>   				    r, g, b, fb);
>>   }
>>   
>> @@ -787,17 +787,17 @@ test_invalid_num_scalers(data_t *d, enum pipe pipe, igt_output_t *output)
>>   	igt_create_color_pattern_fb(display->drm_fd,
>>                                       width, height,
>>                                       DRM_FORMAT_XRGB8888,
>> -                                    I915_TILING_NONE,
>> +                                    DRM_FORMAT_MOD_LINEAR,
>>                                       1.0, 0.0, 0.0, &d->fb[0]);
>>   	igt_create_color_pattern_fb(display->drm_fd,
>>                                       width, height,
>>                                       DRM_FORMAT_XRGB8888,
>> -                                    I915_TILING_NONE,
>> +                                    DRM_FORMAT_MOD_LINEAR,
>>                                       0.0, 1.0, 0.0, &d->fb[1]);
>>   	igt_create_color_pattern_fb(display->drm_fd,
>>                                       width, height,
>>                                       DRM_FORMAT_XRGB8888,
>> -                                    I915_TILING_NONE,
>> +                                    DRM_FORMAT_MOD_LINEAR,
>>                                       0.0, 0.0, 1.0, &d->fb[2]);
>>   
>>   	igt_plane_set_fb(plane[0], &d->fb[0]);
>> @@ -854,16 +854,16 @@ static void test_scaler_with_multi_pipe_plane(data_t *d)
>>   
>>   	igt_create_pattern_fb(d->drm_fd, 600, 600,
>>   			      DRM_FORMAT_XRGB8888,
>> -			      I915_TILING_NONE, &d->fb[0]);
>> +			      DRM_FORMAT_MOD_LINEAR, &d->fb[0]);
>>   	igt_create_pattern_fb(d->drm_fd, 500, 500,
>>   			      DRM_FORMAT_XRGB8888,
>> -			      I915_TILING_NONE, &d->fb[1]);
>> +			      DRM_FORMAT_MOD_LINEAR, &d->fb[1]);
>>   	igt_create_pattern_fb(d->drm_fd, 700, 700,
>>   			      DRM_FORMAT_XRGB8888,
>> -			      I915_TILING_NONE, &d->fb[2]);
>> +			      DRM_FORMAT_MOD_LINEAR, &d->fb[2]);
>>   	igt_create_pattern_fb(d->drm_fd, 400, 400,
>>   			      DRM_FORMAT_XRGB8888,
>> -			      I915_TILING_NONE, &d->fb[3]);
>> +			      DRM_FORMAT_MOD_LINEAR, &d->fb[3]);
>>   
>>   	igt_plane_set_fb(plane[0], &d->fb[0]);
>>   	igt_plane_set_fb(plane[1], &d->fb[1]);
>> @@ -935,7 +935,7 @@ static void invalid_parameter_tests(data_t *d)
>>   
>>   		igt_create_fb(d->drm_fd, 256, 256,
>>   			      DRM_FORMAT_XRGB8888,
>> -			      DRM_FORMAT_MOD_NONE,
>> +			      DRM_FORMAT_MOD_LINEAR,
>>   			      &fb);
>>   	}
>>   
>> @@ -1045,7 +1045,7 @@ static void i915_max_source_size_test(data_t *d)
>>   
>>   		igt_create_fb(d->drm_fd, 5120, 4320,
>>   			      DRM_FORMAT_XRGB8888,
>> -			      DRM_FORMAT_MOD_NONE,
>> +			      DRM_FORMAT_MOD_LINEAR,
>>   			      &fb);
>>   	}
>>   
>> diff --git a/tests/kms_prime.c b/tests/kms_prime.c
>> index ad199915b..d2a6503e5 100644
>> --- a/tests/kms_prime.c
>> +++ b/tests/kms_prime.c
>> @@ -119,7 +119,7 @@ static void prepare_scratch(int exporter_fd, struct dumb_bo *scratch,
>>   					      scratch->size, PROT_WRITE);
>>   	} else {
>>   		igt_calc_fb_size(exporter_fd, mode->hdisplay, mode->vdisplay, DRM_FORMAT_XRGB8888,
>> -				 DRM_FORMAT_MOD_NONE, &scratch->size, &scratch->pitch);
>> +				 DRM_FORMAT_MOD_LINEAR, &scratch->size, &scratch->pitch);
>>   		if (gem_has_lmem(exporter_fd))
>>   			scratch->handle = gem_create_in_memory_regions(exporter_fd, scratch->size,
>>   								       REGION_LMEM(0), REGION_SMEM);
>> diff --git a/tests/kms_scaling_modes.c b/tests/kms_scaling_modes.c
>> index 039e4a8d9..b17d00230 100644
>> --- a/tests/kms_scaling_modes.c
>> +++ b/tests/kms_scaling_modes.c
>> @@ -49,11 +49,11 @@ static void test_scaling_mode_on_output(igt_display_t *display, const enum pipe
>>   	sprite = igt_output_get_plane_type(output, DRM_PLANE_TYPE_OVERLAY);
>>   
>>   	igt_create_color_fb(display->drm_fd, mode.hdisplay, mode.vdisplay,
>> -			    DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_NONE,
>> +			    DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
>>   			    0.f, 0.f, 1.f, &blue);
>>   
>>   	igt_create_color_fb(display->drm_fd, 640, 480,
>> -			    DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_NONE,
>> +			    DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
>>   			    1.f, 0.f, 0.f, &red);
>>   
>>   	igt_plane_set_fb(primary, &blue);
>> diff --git a/tests/kms_universal_plane.c b/tests/kms_universal_plane.c
>> index dd8fa1937..d38886f39 100644
>> --- a/tests/kms_universal_plane.c
>> +++ b/tests/kms_universal_plane.c
>> @@ -613,7 +613,7 @@ cursor_leak_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
>>   	/* Black background FB */
>>   	igt_create_color_fb(data->drm_fd, mode->hdisplay, mode->vdisplay,
>>   			    DRM_FORMAT_XRGB8888,
>> -			    false,
>> +			    DRM_FORMAT_MOD_LINEAR,
>>   			    0.0, 0.0, 0.0,
>>   			    &background_fb);
>>   
>> @@ -624,7 +624,7 @@ cursor_leak_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
>>   		b = rand() % 0xFF;
>>   		igt_create_color_fb(data->drm_fd, 64, 64,
>>   				    DRM_FORMAT_ARGB8888,
>> -				    false,
>> +				    DRM_FORMAT_MOD_LINEAR,
>>   				    (double)r / 0xFF,
>>   				    (double)g / 0xFF,
>>   				    (double)b / 0xFF,
>> diff --git a/tests/kms_writeback.c b/tests/kms_writeback.c
>> index 9d1345857..c4808b02c 100644
>> --- a/tests/kms_writeback.c
>> +++ b/tests/kms_writeback.c
>> @@ -414,6 +414,7 @@ static void commit_and_dump_fb(igt_display_t *display, igt_output_t *output, igt
>>   	snprintf(filepath_out, PATH_MAX, "%s/%s.png", path_name, file_name);
>>   	status = cairo_surface_write_to_png(fb_surface_out, filepath_out);
>>   	igt_assert_eq(status, CAIRO_STATUS_SUCCESS);
>> +	cairo_surface_destroy(fb_surface_out);
>>   
>>   	igt_remove_fb(display->drm_fd, &output_fb);
>>   }
>> -- 
>> 2.39.1
> 


More information about the igt-dev mailing list