From nobody Thu Apr 16 14:01:32 2026 Received: from sender4-pp-f112.zoho.com (sender4-pp-f112.zoho.com [136.143.188.112]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B161D361672 for ; Fri, 13 Feb 2026 14:41:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=136.143.188.112 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770993676; cv=pass; b=ha5v8v3K18TnAghY1WpnQyVXvSV75Kre5cZ6O42o2Fdv0KPdc+GLEboRM4rf7vzy0c4Sl++Q3Bq3cEnm7+zAGyH/iscE0SJRawygLBE0NKCByDVzZob8sLSqBlnLf+j9W7J1ky1U6VlLqIw6l3ZK9VNUURZ2U7uLtQ/Pi0ObC1c= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770993676; c=relaxed/simple; bh=wCZy79B+eepRoamdAh5pJIaH/bY+oNb2recp2MTBj4s=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QJvrKgdVBkXL+0qPFqG6WHK2ooy7ZQKGzLeyWFIPgc8T7z/RGUGIMZ5YIWi8+IodS9EljYaqimpL0XX67/iHXHSmEzB19YC/+AjM02iLEwz7wCfIvu7ii02/7emu6c/dsF+U00grncbeWYFPSek2odFUIvzqLcUOrXkS8adnHik= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (1024-bit key) header.d=collabora.com header.i=ariel.dalessandro@collabora.com header.b=QeVJOLYq; arc=pass smtp.client-ip=136.143.188.112 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=collabora.com header.i=ariel.dalessandro@collabora.com header.b="QeVJOLYq" ARC-Seal: i=1; a=rsa-sha256; t=1770993651; cv=none; d=zohomail.com; s=zohoarc; b=FBlKLM+xDCtEE5Moql62k0XZri4pErmlKphhoUMaRC/6QgmMSBXBrOingSrqGSuM7mvEKXODyUeg4uIMkVraDY3210QrClv5TBd7Cc31yg/Ac5aYUg86uNTS0zjruuFdiG87ZM3BB62sFJZ1lZlOKB126lbT3b9QpxhkEGsXUXw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770993651; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=y3rVHLRK/iXOxTv3jyXNjK2AAVYqbJ5KhV5LOzFCgEA=; b=cYTiJ9tfkQqKrxayZn2frz9esSdFgjyMNYBT+xMtJEtUNpvGI4z4F4TNRbDsOz54eQ57I1Y6u2gW5zlxBj5fFxOKstf3W/oVKgElIC7Mx2F+TMBhSmGHk0GhjMgWBE5mj3ib8PwklFdlWfUte+uuRmm7Kp5TMIzWf+xkMdrDOdo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=collabora.com; spf=pass smtp.mailfrom=ariel.dalessandro@collabora.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1770993651; s=zohomail; d=collabora.com; i=ariel.dalessandro@collabora.com; h=From:From:Date:Date:Subject:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Message-Id:References:In-Reply-To:To:To:Cc:Cc:Reply-To; bh=y3rVHLRK/iXOxTv3jyXNjK2AAVYqbJ5KhV5LOzFCgEA=; b=QeVJOLYqAxJBUSNwnYI2VjYvU/zBVz5dD5t2epyKHdM44wz75pof05NUENZk2lNj iH9Fw9CoXeAwuomITbAytt32UZG5A+j8B08PYB41TClljr6wTCrGzAbON9Nwzsoo1Ja prznZoYg5UDvR5Zrj0jf/NYiTSo8k8ErtR/DjjYg= Received: by mx.zohomail.com with SMTPS id 1770993650647610.3468052929142; Fri, 13 Feb 2026 06:40:50 -0800 (PST) From: Ariel D'Alessandro Date: Fri, 13 Feb 2026 11:40:30 -0300 Subject: [PATCH v3 1/2] drm/vkms: Fix bad matrix offset component multiplication Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260213-vkms-composer-fix-matrix-v3-1-2dab74293a23@collabora.com> References: <20260213-vkms-composer-fix-matrix-v3-0-2dab74293a23@collabora.com> In-Reply-To: <20260213-vkms-composer-fix-matrix-v3-0-2dab74293a23@collabora.com> To: Louis Chauvet , Haneen Mohammed , Simona Vetter , Melissa Wen , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, nfraprado@collabora.com, pekka.paalanen@collabora.com, daniels@collabora.com, kernel@collabora.com, Ariel D'Alessandro X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1770993638; l=2212; i=ariel.dalessandro@collabora.com; s=20251223; h=from:subject:message-id; bh=wCZy79B+eepRoamdAh5pJIaH/bY+oNb2recp2MTBj4s=; b=IdfwEaRwwKZ3ARQyVPLGkUtNOyixvY1vIDKVICodhm/GjYx/M25AfUE9CzjjLJpmMFyWrI03v XtOvGd01yMWBye2pmGkXknPSi36zEkHpaqwoC577S9RnR1ynf+YkY0F X-Developer-Key: i=ariel.dalessandro@collabora.com; a=ed25519; pk=QZRL9EsSBV3/FhDHi9L/7ZTz2dwa7iyqgl+y1UYaQXQ= X-ZohoMailClient: External Pixels values are packed as 16-bit UNORM values, so the matrix offset components must be multiplied properly by the idempotent element -i.e. number 1 encoded as 16-bit UNORM-. Signed-off-by: Ariel D'Alessandro Reviewed-by: Pekka Paalanen --- drivers/gpu/drm/vkms/vkms_composer.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/vkms/vkms_composer.c b/drivers/gpu/drm/vkms/vk= ms_composer.c index cd85de4ffd03d..bcc88c54c482b 100644 --- a/drivers/gpu/drm/vkms/vkms_composer.c +++ b/drivers/gpu/drm/vkms/vkms_composer.c @@ -17,6 +17,8 @@ #include "vkms_composer.h" #include "vkms_luts.h" =20 +#define UNORM_16BIT_ONE 0xffff + static u16 pre_mul_blend_channel(u16 src, u16 dst, u16 alpha) { u32 new_color; @@ -139,20 +141,25 @@ VISIBLE_IF_KUNIT void apply_3x4_matrix(struct pixel_a= rgb_s32 *pixel, g =3D drm_int2fixp(pixel->g); b =3D drm_int2fixp(pixel->b); =20 + /* + * Pixels values are packed as 16-bit UNORM values, so the matrix offset + * components must be multiplied properly by the idempotent element -i.e. + * number 1 encoded as 16-bit UNORM-. + */ rf =3D drm_fixp_mul(drm_sm2fixp(matrix->matrix[0]), r) + drm_fixp_mul(drm_sm2fixp(matrix->matrix[1]), g) + drm_fixp_mul(drm_sm2fixp(matrix->matrix[2]), b) + - drm_sm2fixp(matrix->matrix[3]); + drm_fixp_mul(drm_sm2fixp(matrix->matrix[3]), drm_int2fixp(UNORM_16BI= T_ONE)); =20 gf =3D drm_fixp_mul(drm_sm2fixp(matrix->matrix[4]), r) + drm_fixp_mul(drm_sm2fixp(matrix->matrix[5]), g) + drm_fixp_mul(drm_sm2fixp(matrix->matrix[6]), b) + - drm_sm2fixp(matrix->matrix[7]); + drm_fixp_mul(drm_sm2fixp(matrix->matrix[7]), drm_int2fixp(UNORM_16BI= T_ONE)); =20 bf =3D drm_fixp_mul(drm_sm2fixp(matrix->matrix[8]), r) + drm_fixp_mul(drm_sm2fixp(matrix->matrix[9]), g) + drm_fixp_mul(drm_sm2fixp(matrix->matrix[10]), b) + - drm_sm2fixp(matrix->matrix[11]); + drm_fixp_mul(drm_sm2fixp(matrix->matrix[11]), drm_int2fixp(UNORM_16B= IT_ONE)); =20 pixel->r =3D drm_fixp2int_round(rf); pixel->g =3D drm_fixp2int_round(gf); --=20 2.51.0 From nobody Thu Apr 16 14:01:32 2026 Received: from sender4-pp-f112.zoho.com (sender4-pp-f112.zoho.com [136.143.188.112]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 23AC036166B for ; Fri, 13 Feb 2026 14:41:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=136.143.188.112 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770993678; cv=pass; b=U1iSlbbEaUoMWlUFVutB0XB1+syKi8lhVwy9Wm0KinGVzI6aa5b/8lqkiluQMu8wzwF8V74mJfPkbno1UPLL7/Ws4zj2VkC2aRTwGHuzsCxb9B3UzvrrUVNY+cCilrxxVmtkQnQ/LhOfEa5q7T9egHiG0801oHD2deDIIMm6MDo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770993678; c=relaxed/simple; bh=PumWczodsBNsggBqCarAvj6hMQRGTFFMA2kbZTwX0bs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=dqROg6kn7Uda0fLL6SetOC4UTiBcnsfbo6i28yNBd8O1y1NcDcnvVkOz0zFguSotOUACmYV8G72aoLH4MmtHpPov9wRFx/KQyfGpkk27/5sYuK5qiqAUSiITmenKdOpft/L4kUp/kcBiVKFQgYT3+9zmqupuvF1VN6XyMiOr0W8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (1024-bit key) header.d=collabora.com header.i=ariel.dalessandro@collabora.com header.b=kZclUK0+; arc=pass smtp.client-ip=136.143.188.112 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=collabora.com header.i=ariel.dalessandro@collabora.com header.b="kZclUK0+" ARC-Seal: i=1; a=rsa-sha256; t=1770993657; cv=none; d=zohomail.com; s=zohoarc; b=HNKSYEO43BSZKR0eZ93hRn0XLlDaZfFj7IBmTv7qfYrjCcm6VdBxxh8+f3ZmhP5oZHEOK7OWZEtqifVOgUkL1F4bi8o4uQdgQm5QMprnrGc9hpXM3W0LTGB478B76juXwgDm0xJO9hW+SXhdnySVs88uEE8XoZGlPWWAH5AB7dw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770993657; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=Q99fSz617cjZuUG9cDURC1BJCZR9dQA4U0Zu7HoxbkI=; b=Fp6l0+hK0TegsO15FAQf5PwO9TmKqFUdwt0Oo0rh+3KCqJ4OVYbM5aOCAuUhVQjh1Q6FiKPZYEWkhuUbP54KhcACzAZMs7mPxGWBNmTJPSiUYa72vErL8t2P0J7s6KZDQS3WOa7fcMy8a8zmIcrv3iM9TjJNHs5dgy+Mb3CsCKc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=collabora.com; spf=pass smtp.mailfrom=ariel.dalessandro@collabora.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1770993657; s=zohomail; d=collabora.com; i=ariel.dalessandro@collabora.com; h=From:From:Date:Date:Subject:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Message-Id:References:In-Reply-To:To:To:Cc:Cc:Reply-To; bh=Q99fSz617cjZuUG9cDURC1BJCZR9dQA4U0Zu7HoxbkI=; b=kZclUK0+L+5NGGYLsw9/zyWhYNDUcbH8HQz5U2CiujVImVkEDQD+o04V/EBu109O cQ0v+1FNtxtMNPR6sPYkmrltu21tjohHweCFuIDn6N2EoryJGsEhXumnOJciFcWB045 rNdThlHzJ9eMxEaMRFEo36Ej49q595UMrV+hmk+U= Received: by mx.zohomail.com with SMTPS id 1770993655395273.88111312505373; Fri, 13 Feb 2026 06:40:55 -0800 (PST) From: Ariel D'Alessandro Date: Fri, 13 Feb 2026 11:40:31 -0300 Subject: [PATCH v3 2/2] drm/vkms: Add kunit tests for alternative BT709 encoding matrix Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260213-vkms-composer-fix-matrix-v3-2-2dab74293a23@collabora.com> References: <20260213-vkms-composer-fix-matrix-v3-0-2dab74293a23@collabora.com> In-Reply-To: <20260213-vkms-composer-fix-matrix-v3-0-2dab74293a23@collabora.com> To: Louis Chauvet , Haneen Mohammed , Simona Vetter , Melissa Wen , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, nfraprado@collabora.com, pekka.paalanen@collabora.com, daniels@collabora.com, kernel@collabora.com, Ariel D'Alessandro X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1770993638; l=5536; i=ariel.dalessandro@collabora.com; s=20251223; h=from:subject:message-id; bh=PumWczodsBNsggBqCarAvj6hMQRGTFFMA2kbZTwX0bs=; b=2xL9RYZi6l9pHElEOH5egYsufFl/iaNiccIH95Olx8MKW7o4A+FYadmrQ20x84cMDgMtBQXDM HGu/TvJnUL9A5Xnfbl9+nm1nD/HKqfBNn+3GmZUMLFPCU2b9A0WzkTX X-Developer-Key: i=ariel.dalessandro@collabora.com; a=ed25519; pk=QZRL9EsSBV3/FhDHi9L/7ZTz2dwa7iyqgl+y1UYaQXQ= X-ZohoMailClient: External Currently, BT.709 encoding matrix kunit tests don't cover the offset component multiplication. This commit adds another kunit tests using the BT.709 standard [0] alternative representation of colors by three coordinates Y'Cb'Cr', which are linear combinations of the (non-linear) RGB coordinates. According to these formulas, if RGB varies between [0.0, 1.0], then Y' will vary between [0.0, 1.0], while Cb' and Cr' will vary between [-0.5, 0.5]. The 0.5 offset is added to the Cb' and Cr' components in the 3x4 encoding matrix, so the resulting pixel values then fits the 16-bit UNORM. [0] https://www.itu.int/rec/R-REC-BT.709-6-201506-I/en Signed-off-by: Ariel D'Alessandro --- drivers/gpu/drm/vkms/tests/vkms_color_test.c | 146 +++++++++++++++++++++++= ++++ 1 file changed, 146 insertions(+) diff --git a/drivers/gpu/drm/vkms/tests/vkms_color_test.c b/drivers/gpu/drm= /vkms/tests/vkms_color_test.c index 1a1c7cac2f158..3c4d12f652d6a 100644 --- a/drivers/gpu/drm/vkms/tests/vkms_color_test.c +++ b/drivers/gpu/drm/vkms/tests/vkms_color_test.c @@ -393,6 +393,151 @@ static void vkms_color_ctm_3x4_bt709(struct kunit *te= st) KUNIT_EXPECT_LT(test, out.b, 0x100); } =20 +/* + * BT.709 encoding matrix: Y'Cb'Cr' coordinates + * + * BT.709 standard [0] alternative representation of colors by three coord= inates + * Y'Cb'Cr', which are linear combinations of the (non-linear) RGB coordin= ates. + * + * According to these formulas, if RGB varies between [0.0, 1.0], then Y' + * will vary between [0.0, 1.0], while Cb' and Cr' will vary between + * [-0.5, 0.5]. + * + * The 0.5 offset is added to the Cb' and Cr' components in the 3x4 encodi= ng + * matrix, so the resulting pixel values then fits the 16-bit UNORM. + * + * [0] https://www.itu.int/rec/R-REC-BT.709-6-201506-I/en + */ +static const struct drm_color_ctm_3x4 test_matrix_3x4_bt709_alt_enc =3D { { + 0x00000000366cf400ull, 0x00000000b7175900ull, 0x0000000127bb300ull, 0, + 0x800000001d5475a0ull, 0x8000000062ab8a80ull, 0x0000000080000000ull, 0x00= 00000080000000ull, + 0x0000000080000000ull, 0x8000000074432c80ull, 0x800000000bbcd360ull, 0x00= 00000080000000ull, +} }; + +static void vkms_color_ctm_3x4_bt709_alt(struct kunit *test) +{ + struct pixel_argb_s32 out; + + /* full white to bt709 */ + out.a =3D 0xffff; + out.r =3D 0xffff; + out.g =3D 0xffff; + out.b =3D 0xffff; + + apply_3x4_matrix(&out, &test_matrix_3x4_bt709_alt_enc); + + /* Y' 255 */ + KUNIT_EXPECT_GT(test, out.r, 0xfe00); + KUNIT_EXPECT_LT(test, out.r, 0x10000); + + /* Cb' 128 */ + KUNIT_EXPECT_GT(test, out.g, 0x7f00); + KUNIT_EXPECT_LT(test, out.g, 0x8100); + + /* Cr' 128 */ + KUNIT_EXPECT_GT(test, out.b, 0x7f00); + KUNIT_EXPECT_LT(test, out.b, 0x8100); + + /* full black to bt709 */ + out.a =3D 0xffff; + out.r =3D 0x0; + out.g =3D 0x0; + out.b =3D 0x0; + + apply_3x4_matrix(&out, &test_matrix_3x4_bt709_alt_enc); + + /* Y' 0 */ + KUNIT_EXPECT_LT(test, out.r, 0x100); + + /* Cb' 128 */ + KUNIT_EXPECT_GT(test, out.g, 0x7f00); + KUNIT_EXPECT_LT(test, out.g, 0x8100); + + /* Cr' 128 */ + KUNIT_EXPECT_GT(test, out.b, 0x7f00); + KUNIT_EXPECT_LT(test, out.b, 0x8100); + + /* gray to bt709 */ + out.a =3D 0xffff; + out.r =3D 0x7fff; + out.g =3D 0x7fff; + out.b =3D 0x7fff; + + apply_3x4_matrix(&out, &test_matrix_3x4_bt709_alt_enc); + + /* Y' 128 */ + KUNIT_EXPECT_GT(test, out.r, 0x7f00); + KUNIT_EXPECT_LT(test, out.r, 0x8100); + + /* Cb' 128 */ + KUNIT_EXPECT_GT(test, out.g, 0x7f00); + KUNIT_EXPECT_LT(test, out.b, 0x8100); + + /* Cr' 128 */ + KUNIT_EXPECT_GT(test, out.b, 0x7f00); + KUNIT_EXPECT_LT(test, out.b, 0x8100); + + /* =3D=3D red 255 - bt709 enc =3D=3D */ + out.a =3D 0xffff; + out.r =3D 0xffff; + out.g =3D 0x0; + out.b =3D 0x0; + + apply_3x4_matrix(&out, &test_matrix_3x4_bt709_alt_enc); + + /* Y' 54 */ + KUNIT_EXPECT_GT(test, out.r, 0x3500); + KUNIT_EXPECT_LT(test, out.r, 0x3700); + + /* Cb' 98 */ + KUNIT_EXPECT_GT(test, out.g, 0x6100); + KUNIT_EXPECT_LT(test, out.g, 0x6300); + + /* Cr' 255 */ + KUNIT_EXPECT_GT(test, out.b, 0xfe00); + KUNIT_EXPECT_LT(test, out.b, 0x10000); + + /* =3D=3D green 255 - bt709 enc =3D=3D */ + out.a =3D 0xffff; + out.r =3D 0x0; + out.g =3D 0xffff; + out.b =3D 0x0; + + apply_3x4_matrix(&out, &test_matrix_3x4_bt709_alt_enc); + + /* Y' 182 */ + KUNIT_EXPECT_GT(test, out.r, 0xb500); + KUNIT_EXPECT_LT(test, out.r, 0xb780); /* laxed by half */ + + /* Cb' 29 */ + KUNIT_EXPECT_GT(test, out.g, 0x1c00); + KUNIT_EXPECT_LT(test, out.g, 0x1e00); + + /* Cr' 12 */ + KUNIT_EXPECT_GT(test, out.b, 0x0b00); + KUNIT_EXPECT_LT(test, out.b, 0x0d00); + + /* =3D=3D blue 255 - bt709 enc =3D=3D */ + out.a =3D 0xffff; + out.r =3D 0x0; + out.g =3D 0x0; + out.b =3D 0xffff; + + apply_3x4_matrix(&out, &test_matrix_3x4_bt709_alt_enc); + + /* Y' 18 */ + KUNIT_EXPECT_GT(test, out.r, 0x1100); + KUNIT_EXPECT_LT(test, out.r, 0x1300); + + /* Cb' 255 */ + KUNIT_EXPECT_GT(test, out.g, 0xfe00); + KUNIT_EXPECT_LT(test, out.g, 0x10000); + + /* Cr' 116 */ + KUNIT_EXPECT_GT(test, out.b, 0x7300); + KUNIT_EXPECT_LT(test, out.b, 0x7500); +} + static struct kunit_case vkms_color_test_cases[] =3D { KUNIT_CASE(vkms_color_test_get_lut_index), KUNIT_CASE(vkms_color_test_lerp), @@ -400,6 +545,7 @@ static struct kunit_case vkms_color_test_cases[] =3D { KUNIT_CASE(vkms_color_srgb_inv_srgb), KUNIT_CASE(vkms_color_ctm_3x4_50_desat), KUNIT_CASE(vkms_color_ctm_3x4_bt709), + KUNIT_CASE(vkms_color_ctm_3x4_bt709_alt), {} }; =20 --=20 2.51.0