[igt-dev] [PATCH v2 3/8] tests/kms_available_modes_crc: Don't set tiling for framebuffer
Imre Deak
imre.deak at intel.com
Tue Feb 11 20:42:02 UTC 2020
On Tue, Feb 11, 2020 at 12:15:57PM -0800, Dixit, Ashutosh wrote:
> On Mon, 10 Feb 2020 18:31:03 -0800, Imre Deak wrote:
> >
> > From: Vanshidhar Konda <vanshidhar.r.konda at intel.com>
> >
> > The GEM object used for the framebuffer does not need tiling to be set
> > on it as the entire framebuffer is being filled with the same value -
> > tiling will not impact the end value of the buffer.
> >
> > Cc: Matt Roper <matthew.d.roper at intel.com>
> > Signed-off-by: Vanshidhar Konda <vanshidhar.r.konda at intel.com>
> > Signed-off-by: Imre Deak <imre.deak at intel.com>
> > Reviewed-by: Matt Roper <matthew.d.roper at intel.com>
> > ---
> > tests/kms_available_modes_crc.c | 6 ------
> > 1 file changed, 6 deletions(-)
> >
> > diff --git a/tests/kms_available_modes_crc.c b/tests/kms_available_modes_crc.c
> > index 12761343..ed43d1fb 100644
> > --- a/tests/kms_available_modes_crc.c
> > +++ b/tests/kms_available_modes_crc.c
> > @@ -211,17 +211,11 @@ static bool setup_fb(data_t *data, igt_output_t *output, igt_plane_t *plane,
> > data->buf = (unsigned char *)calloc(data->size*2, 1);
> >
> > data->gem_handle = gem_create(data->gfx_fd, gemsize);
> > - ret = __gem_set_tiling(data->gfx_fd, data->gem_handle,
> > - igt_fb_mod_to_tiling(tiling),
> > - data->fb.strides[0]);
> > -
> > data->fb.gem_handle = data->gem_handle;
> > data->fb.width = w;
> > data->fb.height = h;
> > fill_in_fb(data, output, plane, format);
> >
> > - igt_assert_eq(ret, 0);
> > -
> > ret = __kms_addfb(data->gfx_fd, data->gem_handle, w, h,
> > format, tiling, data->fb.strides, data->fb.offsets,
> > num_planes, LOCAL_DRM_MODE_FB_MODIFIERS,
>
> I think there are still the following remaining issues with this patch:
>
> 1. 33cc93c8 has introduced a gem_require_mappable_ggtt() skipping the
> entire test. That should probably be removed as part of this patch?
>
> 2. do_write() has a gem_mmap__gtt() which should be converted to
> device_coherent()?
That's a good point, we'll need to use another way to write the test
image to the FB and stop skipping the test. However I think this patch
is still valid on its own, and the above things can be done as a
follow-up.
> 3. This is sort of optional but in my view there is an inconsistency here
> which should be addressed:
>
> The original test was actually using a tiled object and using the tiling
> available in the aperture/gtt to write to the object. Through this patch
> we have essentially removed the tiling on the object. However, we are
> continuing to use LOCAL_I915_FORMAT_MOD_X_TILED in setup_fb(). It just
> happens that because we are filling in a single value the modifier is
> immaterial.
It's not immaterial, the display will scan out an X tiled FB.
>
> Shouldn't this be made consistent? Either
>
> (a) we should change the modifier to LOCAL_DRM_FORMAT_MOD_NONE, or
>
> (b) if we are going to use the tiled modifer we should assume the object
> is really tiled and use the blitter or rendercopy to write to the
> object.
The test just solid fills the FB and we don't need to do that in a pixel
line-by-line order.
> I guess (a) is simpler to do.
More information about the igt-dev
mailing list