[igt-dev] [PATCH i-g-t 05/10] igt/tests: Add support for Tile4(TileF) format to kms_draw_crc

Lisovskiy, Stanislav stanislav.lisovskiy at intel.com
Fri Feb 25 08:40:47 UTC 2022


On Fri, Feb 25, 2022 at 10:38:48AM +0530, Jeevan B wrote:
> From: Stanislav Lisovskiy <stanislav.lisovskiy at intel.com>
> 
> kms_draw_crc would be the first sample test to support new
> format.
> 
> v2: add check for tile-4 support
> 
> Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy at intel.com>
> Signed-off-by: Jeevan B <jeevan.b at intel.com>

Reviewed-by: Stanislav Lisovskiy <stanislav.lisovskiy at intel.com>

> ---
>  tests/i915/kms_draw_crc.c | 18 +++++++++++-------
>  1 file changed, 11 insertions(+), 7 deletions(-)
> 
> diff --git a/tests/i915/kms_draw_crc.c b/tests/i915/kms_draw_crc.c
> index 82c368e1..33b7bdf4 100644
> --- a/tests/i915/kms_draw_crc.c
> +++ b/tests/i915/kms_draw_crc.c
> @@ -41,25 +41,24 @@ drmModeConnectorPtr drm_connectors[MAX_CONNECTORS];
>  struct buf_ops *bops;
>  igt_pipe_crc_t *pipe_crc;
>  
> -#define N_FORMATS 3
> -static const uint32_t formats[N_FORMATS] = {
> +static const uint32_t formats[] = {
>  	DRM_FORMAT_XRGB8888,
>  	DRM_FORMAT_RGB565,
>  	DRM_FORMAT_XRGB2101010,
>  };
>  
> -#define N_MODIFIER_METHODS 3
> -static const uint64_t modifiers[N_MODIFIER_METHODS] = {
> +static const uint64_t modifiers[] = {
>  	DRM_FORMAT_MOD_LINEAR,
>  	I915_FORMAT_MOD_X_TILED,
>  	I915_FORMAT_MOD_Y_TILED,
> +	I915_FORMAT_MOD_4_TILED,
>  };
>  
>  struct base_crc {
>  	bool set;
>  	igt_crc_t crc;
>  };
> -struct base_crc base_crcs[N_FORMATS];
> +struct base_crc base_crcs[ARRAY_SIZE(formats)];
>  
>  struct modeset_params ms;
>  
> @@ -178,6 +177,9 @@ static void draw_method_subtest(enum igt_draw_method method,
>  {
>  	igt_crc_t crc;
>  
> +	igt_skip_on(modifier == I915_FORMAT_MOD_4_TILED &&
> +		    !HAS_4TILE(intel_get_drm_devid(drm_fd)));
> +
>  	igt_skip_on(method == IGT_DRAW_MMAP_WC && !gem_mmap__has_wc(drm_fd));
>  	igt_skip_on(method == IGT_DRAW_MMAP_GTT &&
>  		    !gem_has_mappable_ggtt(drm_fd));
> @@ -315,6 +317,8 @@ static const char *modifier_str(int modifier_index)
>  		return "xtiled";
>  	case I915_FORMAT_MOD_Y_TILED:
>  		return "ytiled";
> +	case I915_FORMAT_MOD_4_TILED:
> +		return "4tiled";
>  	default:
>  		igt_assert(false);
>  	}
> @@ -328,9 +332,9 @@ igt_main
>  	igt_fixture
>  		setup_environment();
>  
> -	for (format_idx = 0; format_idx < N_FORMATS; format_idx++) {
> +	for (format_idx = 0; format_idx < ARRAY_SIZE(formats); format_idx++) {
>  	for (method = 0; method < IGT_DRAW_METHOD_COUNT; method++) {
> -	for (modifier_idx = 0; modifier_idx < N_MODIFIER_METHODS; modifier_idx++) {
> +	for (modifier_idx = 0; modifier_idx < ARRAY_SIZE(modifiers); modifier_idx++) {
>  		igt_describe("This subtest verfies igt_draw library works "
>  			     "with different modifiers, DRM_FORMATS, DRAW_METHODS.");
>  		igt_subtest_f("draw-method-%s-%s-%s",
> -- 
> 2.17.1
> 


More information about the igt-dev mailing list