diff mbox

[i-g-t] ksm_pipe_color: Set legacy gamma values inside loop.

Message ID 1460396495-10265-1-git-send-email-bob.j.paauwe@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Paauwe, Bob J April 11, 2016, 5:41 p.m. UTC
When testing multple outputs, make sure to set the gamma values before
testing the output.  Otherwise we're testing using the gamma values
that were reset after last output was tested.  Without this, the first
output passes, but each output after that will fail.

Signed-off-by: Bob Paauwe <bob.j.paauwe@intel.com>
---
 tests/kms_pipe_color.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Lionel Landwerlin April 18, 2016, 11:33 a.m. UTC | #1
Hi Bob,

Thanks for spotting this.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>

On 11/04/16 18:41, Bob Paauwe wrote:
> When testing multple outputs, make sure to set the gamma values before
> testing the output.  Otherwise we're testing using the gamma values
> that were reset after last output was tested.  Without this, the first
> output passes, but each output after that will fail.
>
> Signed-off-by: Bob Paauwe <bob.j.paauwe@intel.com>
> ---
>   tests/kms_pipe_color.c | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/tests/kms_pipe_color.c b/tests/kms_pipe_color.c
> index f08aabd..9f7ac7e 100644
> --- a/tests/kms_pipe_color.c
> +++ b/tests/kms_pipe_color.c
> @@ -452,10 +452,6 @@ static void test_pipe_legacy_gamma(data_t *data,
>   	green_lut = malloc(sizeof(uint16_t) * legacy_lut_size);
>   	blue_lut = malloc(sizeof(uint16_t) * legacy_lut_size);
>   
> -	red_lut[0] = green_lut[0] = blue_lut[0] = 0;
> -	for (i = 1; i < legacy_lut_size; i++)
> -		red_lut[i] = green_lut[i] = blue_lut[i] = 0xffff;
> -
>   	for_each_connected_output(&data->display, output) {
>   		drmModeModeInfo *mode;
>   		struct igt_fb fb_modeset, fb;
> @@ -500,6 +496,10 @@ static void test_pipe_legacy_gamma(data_t *data,
>   		 */
>   		paint_gradient_rectangles(data, mode, red_green_blue, &fb);
>   		igt_plane_set_fb(primary, &fb);
> +
> +		red_lut[0] = green_lut[0] = blue_lut[0] = 0;
> +		for (i = 1; i < legacy_lut_size; i++)
> +			red_lut[i] = green_lut[i] = blue_lut[i] = 0xffff;
>   		igt_assert_eq(drmModeCrtcSetGamma(data->drm_fd, primary->pipe->crtc_id,
>   						  legacy_lut_size, red_lut, green_lut, blue_lut), 0);
>   		igt_display_commit(&data->display);
diff mbox

Patch

diff --git a/tests/kms_pipe_color.c b/tests/kms_pipe_color.c
index f08aabd..9f7ac7e 100644
--- a/tests/kms_pipe_color.c
+++ b/tests/kms_pipe_color.c
@@ -452,10 +452,6 @@  static void test_pipe_legacy_gamma(data_t *data,
 	green_lut = malloc(sizeof(uint16_t) * legacy_lut_size);
 	blue_lut = malloc(sizeof(uint16_t) * legacy_lut_size);
 
-	red_lut[0] = green_lut[0] = blue_lut[0] = 0;
-	for (i = 1; i < legacy_lut_size; i++)
-		red_lut[i] = green_lut[i] = blue_lut[i] = 0xffff;
-
 	for_each_connected_output(&data->display, output) {
 		drmModeModeInfo *mode;
 		struct igt_fb fb_modeset, fb;
@@ -500,6 +496,10 @@  static void test_pipe_legacy_gamma(data_t *data,
 		 */
 		paint_gradient_rectangles(data, mode, red_green_blue, &fb);
 		igt_plane_set_fb(primary, &fb);
+
+		red_lut[0] = green_lut[0] = blue_lut[0] = 0;
+		for (i = 1; i < legacy_lut_size; i++)
+			red_lut[i] = green_lut[i] = blue_lut[i] = 0xffff;
 		igt_assert_eq(drmModeCrtcSetGamma(data->drm_fd, primary->pipe->crtc_id,
 						  legacy_lut_size, red_lut, green_lut, blue_lut), 0);
 		igt_display_commit(&data->display);