summaryrefslogtreecommitdiff
path: root/tests/kms_color_helper.c
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2020-11-27 22:05:09 +0200
committerVille Syrjälä <ville.syrjala@linux.intel.com>2021-09-16 17:27:13 +0300
commit096d8c36c455255c166437a22da855458a489cf6 (patch)
treeb4814d7d93dcad1ce3f3c141af9237e84703fb83 /tests/kms_color_helper.c
parente0ffde9bd61efec277a3945423968902f80d8baf (diff)
tests/kms_color: Refactor invalid LUT size tests
Reuse the same code for all invalid LUT size tests. v2: Drop the pointless return statements in void functions Reviewed-by: Bhanuprakash Modem <Bhanuprakash.modem@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Diffstat (limited to 'tests/kms_color_helper.c')
-rw-r--r--tests/kms_color_helper.c81
1 files changed, 26 insertions, 55 deletions
diff --git a/tests/kms_color_helper.c b/tests/kms_color_helper.c
index 5f223a88..68fa5f0e 100644
--- a/tests/kms_color_helper.c
+++ b/tests/kms_color_helper.c
@@ -277,77 +277,48 @@ pipe_set_property_blob(igt_pipe_t *pipe,
COMMIT_ATOMIC : COMMIT_LEGACY);
}
-void
-invalid_gamma_lut_sizes(data_t *data)
+static void
+invalid_lut_sizes(data_t *data, enum igt_atomic_crtc_properties prop, int size)
{
igt_display_t *display = &data->display;
igt_pipe_t *pipe = &display->pipes[0];
- size_t gamma_lut_size = data->gamma_lut_size *
- sizeof(struct drm_color_lut);
- struct drm_color_lut *gamma_lut;
+ struct drm_color_lut *lut;
+ size_t lut_size = size * sizeof(lut[0]);
- igt_require(igt_pipe_obj_has_prop(pipe, IGT_CRTC_GAMMA_LUT));
+ igt_require(igt_pipe_obj_has_prop(pipe, prop));
- gamma_lut = malloc(gamma_lut_size * 2);
+ lut = malloc(lut_size * 2);
igt_display_commit2(display,
display->is_atomic ?
COMMIT_ATOMIC : COMMIT_LEGACY);
- igt_assert_eq(pipe_set_property_blob(pipe, IGT_CRTC_GAMMA_LUT,
- gamma_lut, 1), -EINVAL);
- igt_assert_eq(pipe_set_property_blob(pipe, IGT_CRTC_GAMMA_LUT,
- gamma_lut, gamma_lut_size + 1),
- -EINVAL);
- igt_assert_eq(pipe_set_property_blob(pipe, IGT_CRTC_GAMMA_LUT,
- gamma_lut, gamma_lut_size - 1),
- -EINVAL);
- igt_assert_eq(pipe_set_property_blob(pipe, IGT_CRTC_GAMMA_LUT,
- gamma_lut, gamma_lut_size +
- sizeof(struct drm_color_lut)),
- -EINVAL);
- igt_assert_eq(pipe_set_property_blob_id(pipe, IGT_CRTC_GAMMA_LUT,
- pipe->crtc_id), -EINVAL);
- igt_assert_eq(pipe_set_property_blob_id(pipe, IGT_CRTC_GAMMA_LUT,
- 4096 * 4096), -EINVAL);
+ igt_assert_eq(pipe_set_property_blob(pipe, prop, lut,
+ 1), -EINVAL);
+ igt_assert_eq(pipe_set_property_blob(pipe, prop, lut,
+ lut_size + 1), -EINVAL);
+ igt_assert_eq(pipe_set_property_blob(pipe, prop, lut,
+ lut_size - 1), -EINVAL);
+ igt_assert_eq(pipe_set_property_blob(pipe, prop, lut,
+ lut_size + sizeof(struct drm_color_lut)), -EINVAL);
+ igt_assert_eq(pipe_set_property_blob_id(pipe, prop,
+ pipe->crtc_id), -EINVAL);
+ igt_assert_eq(pipe_set_property_blob_id(pipe, prop,
+ 4096 * 4096), -EINVAL);
- free(gamma_lut);
+ free(lut);
}
void
-invalid_degamma_lut_sizes(data_t *data)
+invalid_gamma_lut_sizes(data_t *data)
{
- igt_display_t *display = &data->display;
- igt_pipe_t *pipe = &display->pipes[0];
- size_t degamma_lut_size = data->degamma_lut_size *
- sizeof(struct drm_color_lut);
- struct drm_color_lut *degamma_lut;
-
- igt_require(igt_pipe_obj_has_prop(pipe, IGT_CRTC_DEGAMMA_LUT));
-
- degamma_lut = malloc(degamma_lut_size * 2);
-
- igt_display_commit2(display, display->is_atomic ?
- COMMIT_ATOMIC : COMMIT_LEGACY);
-
- igt_assert_eq(pipe_set_property_blob(pipe, IGT_CRTC_DEGAMMA_LUT,
- degamma_lut, 1), -EINVAL);
- igt_assert_eq(pipe_set_property_blob(pipe, IGT_CRTC_DEGAMMA_LUT,
- degamma_lut, degamma_lut_size + 1),
- -EINVAL);
- igt_assert_eq(pipe_set_property_blob(pipe, IGT_CRTC_DEGAMMA_LUT,
- degamma_lut, degamma_lut_size - 1),
- -EINVAL);
- igt_assert_eq(pipe_set_property_blob(pipe, IGT_CRTC_DEGAMMA_LUT,
- degamma_lut, degamma_lut_size +
- sizeof(struct drm_color_lut)),
- -EINVAL);
- igt_assert_eq(pipe_set_property_blob_id(pipe, IGT_CRTC_DEGAMMA_LUT,
- pipe->crtc_id), -EINVAL);
- igt_assert_eq(pipe_set_property_blob_id(pipe, IGT_CRTC_DEGAMMA_LUT,
- 4096 * 4096), -EINVAL);
+ invalid_lut_sizes(data, IGT_CRTC_GAMMA_LUT, data->gamma_lut_size);
+}
- free(degamma_lut);
+void
+invalid_degamma_lut_sizes(data_t *data)
+{
+ invalid_lut_sizes(data, IGT_CRTC_DEGAMMA_LUT, data->degamma_lut_size);
}
void invalid_ctm_matrix_sizes(data_t *data)