// SPDX-License-Identifier: GPL-2.0+
#include <drm/drm_mode.h>
#include "vkms_drv.h"
#include "vkms_luts.h"
/*
* These luts were generated with a LUT generated based on
* skia's transfer function code. The LUT generator can be
* found at
* https://gitlab.freedesktop.org/hwentland/lutgen
*/
static struct drm_color_lut linear_array[LUT_SIZE] = {
{ 0x0, 0x0, 0x0, 0 },
{ 0x101, 0x101, 0x101, 0 },
{ 0x202, 0x202, 0x202, 0 },
{ 0x303, 0x303, 0x303, 0 },
{ 0x404, 0x404, 0x404, 0 },
{ 0x505, 0x505, 0x505, 0 },
{ 0x606, 0x606, 0x606, 0 },
{ 0x707, 0x707, 0x707, 0 },
{ 0x808, 0x808, 0x808, 0 },
{ 0x909, 0x909, 0x909, 0 },
{ 0xa0a, 0xa0a, 0xa0a, 0 },
{ 0xb0b, 0xb0b, 0xb0b, 0 },
{ 0xc0c, 0xc0c, 0xc0c, 0 },
{ 0xd0d, 0xd0d, 0xd0d, 0 },
{ 0xe0e, 0xe0e, 0xe0e, 0 },
{ 0xf0f, 0xf0f, 0xf0f, 0 },
{ 0x1010, 0x1010, 0x1010, 0 },
{ 0x1111, 0x1111, 0x1111, 0 },
{ 0x1212, 0x1212, 0x1212, 0 },
{ 0x1313, 0x1313, 0x1313, 0 },
{ 0x1414, 0x1414, 0x1414, 0 },
{ 0x1515, 0x1515, 0x1515, 0 },
{ 0x1616, 0x1616, 0x1616, 0 },
{ 0x1717, 0x1717, 0x1717, 0 },
{ 0x1818, 0x1818, 0x1818, 0 },
{ 0x1919, 0x1919, 0x1919, 0 },
{ 0x1a1a, 0x1a1a, 0x1a1a, 0 },
{ 0x1b1b, 0x1b1b, 0x1b1b, 0 },
{ 0x1c1c, 0x1c1c, 0x1c1c, 0 },
{ 0x1d1d, 0x1d1d, 0x1d1d, 0 },
{ 0x1e1e, 0x1e1e, 0x1e1e, 0 },
{ 0x1f1f, 0x1f1f, 0x1f1f, 0 },
{ 0x2020, 0x2020, 0x2020, 0 },
{ 0x2121, 0x2121, 0x2121, 0 },
{ 0x2222, 0x2222, 0x2222, 0 },
{ 0x2323, 0x2323, 0x2323, 0 },
{ 0x2424, 0x2424, 0x2424, 0 },
{ 0x2525, 0x2525, 0x2525, 0 },
{ 0x2626, 0x2626, 0x2626, 0 },
{ 0x2727, 0x2727, 0x2727, 0 },
{ 0x2828, 0x2828, 0x2828, 0 },
{ 0x2929, 0x2929, 0x2929, 0 },
{ 0x2a2a, 0x2a2a, 0x2a2a, 0 },
{ 0x2b2b, 0x2b2b, 0x2b2b, 0 },
{ 0x2c2c, 0x2c2c, 0x2c2c, 0 },
{ 0x2d2d, 0x2d2d, 0x2d2d, 0 },
{ 0x2e2e, 0x2e2e, 0x2e2e, 0 },
{ 0x2f2f, 0x2f2f, 0x2f2f, 0 },
{ 0x3030, 0x3030, 0x3030, 0 },
{ 0x3131, 0x3131, 0x3131, 0 },
{ 0x3232, 0x3232, 0x3232, 0 },
{ 0x3333, 0x3333, 0x3333, 0 },
{ 0x3434, 0x3434, 0x3434, 0 },
{ 0x3535, 0x3535, 0x3535, 0 },
{ 0x3636, 0x3636, 0x3636, 0 },
{ 0x3737, 0x3737, 0x3737, 0 },
{ 0x3838, 0x3838, 0x3838, 0 },
{ 0x3939, 0x3939, 0x3939, 0 },
{ 0x3a3a, 0x3a3a, 0x3a3a, 0 },
{ 0x3b3b, 0x3b3b, 0x3b3b, 0 },
{ 0x3c3c, 0x3c3c, 0x3c3c, 0 },
{ 0x3d3d, 0x3d3d, 0x3d3d, 0 },
{ 0x3e3e, 0x3e3e, 0x3e3e, 0 },
{ 0x3f3f, 0x3f3f, 0x3f3f, 0 },
{ 0x4040, 0x4040, 0x4040, 0 },
{ 0x4141, 0x4141, 0x4141, 0 },
{ 0x4242, 0x4242, 0x4242, 0 },
{ 0x4343, 0x4343, 0x4343, 0 },
{ 0x4444, 0x4444, 0x4444, 0 },
{ 0x4545, 0x4545, 0x4545, 0 },
{ 0x4646, 0x4646, 0x4646, 0 },
{ 0x4747, 0x4747, 0x4747, 0 },
{ 0x4848, 0x4848, 0x4848, 0