[igt-dev] [PATCH i-g-t v3 2/3] lib/igt_color Moved kms_color functions to lib/igt_color to git avoid code duplication

Petri Latvala petri.latvala at intel.com
Tue Jan 21 13:42:34 UTC 2020


On Tue, Jan 21, 2020 at 11:24:14AM +0530, Kunal Joshi wrote:
> kms_color and kms_color_chamelium shared common functions.
> Moved them to lib/igt_color to avoid code duplication.
> 
> Signed-off-by: Kunal Joshi <kunal1.joshi at intel.com>
> Signed-off-by: Swati Sharma <swati2.sharma at intel.com>
> Suggested-by: Uma Shankar <uma.shankar at intel.com>
> ---
>  lib/Makefile.sources |   2 +
>  lib/igt_color.c      | 386 +++++++++++++++++++++++++++++++++++++++++++++++++++
>  lib/igt_color.h      | 105 ++++++++++++++
>  3 files changed, 493 insertions(+)
>  create mode 100644 lib/igt_color.c
>  create mode 100644 lib/igt_color.h

Meson changes are missing.

The removal of those functions from tests/kms_color.c should be in this commit too.


> diff --git a/lib/igt_color.c b/lib/igt_color.c
> +
> +#include "igt_color.h"
> +
> +void paint_gradient_rectangles(data_t *data,
> +			       drmModeModeInfo *mode,
> +			       color_t *colors,
> +			       struct igt_fb *fb)


You can't just blindly copy the functions over. data_t is a name tests
use for their test-specific structures, library code shouldn't have
such a name. This function for example just uses drm_fd from data, so
the function should take int fd instead.


> +struct drm_color_lut *coeffs_to_lut(data_t *data,
> +				    const gamma_lut_t *gamma,
> +				    uint32_t color_depth,
> +				    int off)
> +{
> +	struct drm_color_lut *lut;
> +	int i, lut_size = gamma->size;
> +	uint32_t max_value = (1 << 16) - 1;
> +	uint32_t mask;
> +
> +	if (is_i915_device(data->drm_fd))
> +		mask = ((1 << color_depth) - 1) << 8;
> +	else
> +		mask = max_value;
> +
> +	lut = malloc(sizeof(struct drm_color_lut) * lut_size);
> +
> +	if (IS_CHERRYVIEW(data->devid))

Another example why you can't just copy over functions from a test:
Nothing in this patch fills in the devid field.

Some documentation for new lib functions would also be very nice.


-- 
Petri Latvala


More information about the igt-dev mailing list