[igt-dev] [PATCH v2 3/8] tests/kms_available_modes_crc: Don't set tiling for framebuffer
Dixit, Ashutosh
ashutosh.dixit at intel.com
Tue Feb 11 20:15:57 UTC 2020
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()?
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.
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.
I guess (a) is simpler to do.
More information about the igt-dev
mailing list