From nobody Mon Feb 9 03:58:42 2026 Received: from mx1.riseup.net (mx1.riseup.net [198.252.153.129]) (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 22AC7140397 for ; Wed, 6 Mar 2024 20:03:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.252.153.129 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709755416; cv=none; b=ZgsEGU5Uazu3831+IqcGixm4aOWzCxnBbJg1kYPVHC+U2uwdNpkiwx9mGA5NDpJbACpOUAefUB/4OaG+tAynAr4Oa34NxgwMjkBarhYxqN7Q9aYN9DYJI740YsRunDge7aag678oFSrx62fWDvRaJTuQFuy2efeb9qS20skJcxU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709755416; c=relaxed/simple; bh=i30Vaa/vWmAWuQ1xuyHQbAwUbCzPkek4gi1m2EvEbUs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pnAOJmUuUs9zpJrvHd5QaStvQJ+oNma1yHHQvNs74gTg/64mKmH5JM+L3yLakb/Q72fp1LgtOZMB/JLsaOtl/29MrZQBoWmUN5b/4rxdqqx2bIVwkIQX/U63QC4KNlETcspQiuPLWlv0yAdHdQigQ6/T33lUbJZcSpntb/0gdJM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riseup.net; spf=pass smtp.mailfrom=riseup.net; dkim=pass (1024-bit key) header.d=riseup.net header.i=@riseup.net header.b=qpY1+0FP; arc=none smtp.client-ip=198.252.153.129 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riseup.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riseup.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=riseup.net header.i=@riseup.net header.b="qpY1+0FP" Received: from fews02-sea.riseup.net (fews02-sea-pn.riseup.net [10.0.1.112]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx1.riseup.net (Postfix) with ESMTPS id 4Tqjzp1b6PzDq8y; Wed, 6 Mar 2024 20:03:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1709755414; bh=i30Vaa/vWmAWuQ1xuyHQbAwUbCzPkek4gi1m2EvEbUs=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=qpY1+0FP6AdVM3Qg8lZv+hYANPxKP5Uhd+ZQCanHSNm0ZAMiUDZjQmzYMem4Zok9Y R7KxA49tasIbhKDw3h5f6YE/lSen/1CSnbgxgOD3YO2K4dphn5YoKk6XkwN3+5PSqW nsfZGf4QqtPZladu1ohTmr3RYYToDmwgelbwqIp4= X-Riseup-User-ID: 91291689B435C54B67630DDED63C74A69CF5F515D6AE21446F9EFDBED5BFBAF3 Received: from [127.0.0.1] (localhost [127.0.0.1]) by fews02-sea.riseup.net (Postfix) with ESMTPSA id 4Tqjzh2DQtzFvsk; Wed, 6 Mar 2024 20:03:28 +0000 (UTC) From: Arthur Grillo Date: Wed, 06 Mar 2024 17:03:08 -0300 Subject: [PATCH 1/7] drm: Fix drm_fixp2int_round() making it add 0.5 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: <20240306-louis-vkms-conv-v1-1-5bfe7d129fdd@riseup.net> References: <20240306-louis-vkms-conv-v1-0-5bfe7d129fdd@riseup.net> In-Reply-To: <20240306-louis-vkms-conv-v1-0-5bfe7d129fdd@riseup.net> To: Rodrigo Siqueira , Melissa Wen , =?utf-8?q?Ma=C3=ADra_Canal?= , Haneen Mohammed , Daniel Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , arthurgrillo@riseup.net, Jonathan Corbet , pekka.paalanen@haloniitty.fi, Louis Chauvet Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, jeremie.dautheribes@bootlin.com, miquel.raynal@bootlin.com, thomas.petazzoni@bootlin.com, seanpaul@google.com, marcheu@google.com, nicolejadeyee@google.com, Pekka Paalanen As well noted by Pekka[1], the rounding of drm_fixp2int_round is wrong. To round a number, you need to add 0.5 to the number and floor that, drm_fixp2int_round() is adding 0.0000076. Make it add 0.5. [1]: https://lore.kernel.org/all/20240301135327.22efe0dd.pekka.paalanen@col= labora.com/ Suggested-by: Pekka Paalanen Signed-off-by: Arthur Grillo Reviewed-by: Harry Wentland --- include/drm/drm_fixed.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/drm/drm_fixed.h b/include/drm/drm_fixed.h index 0c9f917a4d4b..de3a79909ac9 100644 --- a/include/drm/drm_fixed.h +++ b/include/drm/drm_fixed.h @@ -90,7 +90,7 @@ static inline int drm_fixp2int(s64 a) =20 static inline int drm_fixp2int_round(s64 a) { - return drm_fixp2int(a + (1 << (DRM_FIXED_POINT_HALF - 1))); + return drm_fixp2int(a + DRM_FIXED_ONE / 2); } =20 static inline int drm_fixp2int_ceil(s64 a) --=20 2.43.0 From nobody Mon Feb 9 03:58:42 2026 Received: from mx0.riseup.net (mx0.riseup.net [198.252.153.6]) (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 A0680140386 for ; Wed, 6 Mar 2024 20:03:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.252.153.6 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709755429; cv=none; b=rygOAasGqSQs9gn6i+C6EFk8h5mH0PYsntNHzahlP6XPEHK6fuolLBB7p6OwjJJ41SZMGBNZiQ7ftE/Fma1yK+/KepxXXq/nM9prag/DPMrfvuOKAAQSiStsZV43wvwKdLFaY3fMD7AvjxiMse2SF6qmzriENHbm9bY3aZtT+gM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709755429; c=relaxed/simple; bh=h0PodFS5qCsCyCWWmRwb25OxPxljdoN865Ax2gcERF0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=W1PM8r/CElea7sa4VpI0gjuiHaR2rHzneOdEm/PylTY13OjALTkQN2ld88/12KwTXtsPoAWiphCaomr7lMjhZa9LOPgn9xadsbftSj+a43o5L+WUagGW4WzqAqWoq7ioypbICC4lGlkKbCjHUbjQlSV+rTPBAPD+3Q8KaZWVpbo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riseup.net; spf=pass smtp.mailfrom=riseup.net; dkim=pass (1024-bit key) header.d=riseup.net header.i=@riseup.net header.b=mP0AE+Hq; arc=none smtp.client-ip=198.252.153.6 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riseup.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riseup.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=riseup.net header.i=@riseup.net header.b="mP0AE+Hq" Received: from fews02-sea.riseup.net (fews02-sea-pn.riseup.net [10.0.1.112]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx0.riseup.net (Postfix) with ESMTPS id 4Tqjzw02wBz9wM4; Wed, 6 Mar 2024 20:03:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1709755420; bh=h0PodFS5qCsCyCWWmRwb25OxPxljdoN865Ax2gcERF0=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=mP0AE+HqWm0eUi+j3N/Wu3jiqQoq/TVRhdxuYjQCy+At5EB+lJElGd69IZfSDsJ6d PEcw7wJMidM6niyzA+lEU3owS0wTQbnIvKZbmwQGxZGx9izmjWbRuauZRYPLpekMHB 0QOcInocEFyxirvBg7jbcl4iUrqrymFArYdywH20= X-Riseup-User-ID: 4C21D9B088B280759A744A19E3AD30C66DC2FF9F68FF7EEE6FD7EEE672255839 Received: from [127.0.0.1] (localhost [127.0.0.1]) by fews02-sea.riseup.net (Postfix) with ESMTPSA id 4Tqjzp2fpVzFvsm; Wed, 6 Mar 2024 20:03:34 +0000 (UTC) From: Arthur Grillo Date: Wed, 06 Mar 2024 17:03:09 -0300 Subject: [PATCH 2/7] drm/vkms: Add comments 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: <20240306-louis-vkms-conv-v1-2-5bfe7d129fdd@riseup.net> References: <20240306-louis-vkms-conv-v1-0-5bfe7d129fdd@riseup.net> In-Reply-To: <20240306-louis-vkms-conv-v1-0-5bfe7d129fdd@riseup.net> To: Rodrigo Siqueira , Melissa Wen , =?utf-8?q?Ma=C3=ADra_Canal?= , Haneen Mohammed , Daniel Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , arthurgrillo@riseup.net, Jonathan Corbet , pekka.paalanen@haloniitty.fi, Louis Chauvet Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, jeremie.dautheribes@bootlin.com, miquel.raynal@bootlin.com, thomas.petazzoni@bootlin.com, seanpaul@google.com, marcheu@google.com, nicolejadeyee@google.com Signed-off-by: Arthur Grillo --- drivers/gpu/drm/vkms/vkms_formats.c | 47 +++++++++++++++++++++++++++++++++= ++++ 1 file changed, 47 insertions(+) diff --git a/drivers/gpu/drm/vkms/vkms_formats.c b/drivers/gpu/drm/vkms/vkm= s_formats.c index 44d9b9b3bdc3..55ed3f598bd7 100644 --- a/drivers/gpu/drm/vkms/vkms_formats.c +++ b/drivers/gpu/drm/vkms/vkms_formats.c @@ -577,6 +577,18 @@ get_conversion_matrix_to_argb_u16(u32 format, enum drm= _color_encoding encoding, }, .y_offset =3D 0, }; + + /* + * Those matrixies were generated using the colour python framework + * + * Below are the function calls used to generate eac matrix, go to + * https://colour.readthedocs.io/en/develop/generated/colour.matrix_YCbCr= .html + * for more info: + * + * numpy.around(colour.matrix_YCbCr(K=3Dcolour.WEIGHTS_YCBCR["ITU-R BT.60= 1"], + * is_legal =3D False, + * bits =3D 8) * 2**32).astype(int) + */ static struct conversion_matrix yuv_bt601_full =3D { .matrix =3D { { 4294967296, 0, 6021544149 }, @@ -585,6 +597,12 @@ get_conversion_matrix_to_argb_u16(u32 format, enum drm= _color_encoding encoding, }, .y_offset =3D 0, }; + + /* + * numpy.around(colour.matrix_YCbCr(K=3Dcolour.WEIGHTS_YCBCR["ITU-R BT.60= 1"], + * is_legal =3D True, + * bits =3D 8) * 2**32).astype(int) + */ static struct conversion_matrix yuv_bt601_limited =3D { .matrix =3D { { 5020601039, 0, 6881764740 }, @@ -593,6 +611,12 @@ get_conversion_matrix_to_argb_u16(u32 format, enum drm= _color_encoding encoding, }, .y_offset =3D 16, }; + + /* + * numpy.around(colour.matrix_YCbCr(K=3Dcolour.WEIGHTS_YCBCR["ITU-R BT.70= 9"], + * is_legal =3D False, + * bits =3D 8) * 2**32).astype(int) + */ static struct conversion_matrix yuv_bt709_full =3D { .matrix =3D { { 4294967296, 0, 6763714498 }, @@ -601,6 +625,12 @@ get_conversion_matrix_to_argb_u16(u32 format, enum drm= _color_encoding encoding, }, .y_offset =3D 0, }; + + /* + * numpy.around(colour.matrix_YCbCr(K=3Dcolour.WEIGHTS_YCBCR["ITU-R BT.70= 9"], + * is_legal =3D True, + * bits =3D 8) * 2**32).astype(int) + */ static struct conversion_matrix yuv_bt709_limited =3D { .matrix =3D { { 5020601039, 0, 7729959424 }, @@ -609,6 +639,12 @@ get_conversion_matrix_to_argb_u16(u32 format, enum drm= _color_encoding encoding, }, .y_offset =3D 16, }; + + /* + * numpy.around(colour.matrix_YCbCr(K=3Dcolour.WEIGHTS_YCBCR["ITU-R BT.20= 20"], + * is_legal =3D False, + * bits =3D 8) * 2**32).astype(int) + */ static struct conversion_matrix yuv_bt2020_full =3D { .matrix =3D { { 4294967296, 0, 6333358775 }, @@ -617,6 +653,12 @@ get_conversion_matrix_to_argb_u16(u32 format, enum drm= _color_encoding encoding, }, .y_offset =3D 0, }; + + /* + * numpy.around(colour.matrix_YCbCr(K=3Dcolour.WEIGHTS_YCBCR["ITU-R BT.20= 20"], + * is_legal =3D True, + * bits =3D 8) * 2**32).astype(int) + */ static struct conversion_matrix yuv_bt2020_limited =3D { .matrix =3D { { 5020601039, 0, 7238124312 }, @@ -625,6 +667,11 @@ get_conversion_matrix_to_argb_u16(u32 format, enum drm= _color_encoding encoding, }, .y_offset =3D 16, }; + + /* + * The next matrices are just the previous ones, but with the first and + * second columns swapped + */ static struct conversion_matrix yvu_bt601_full =3D { .matrix =3D { { 4294967296, 6021544149, 0 }, --=20 2.43.0 From nobody Mon Feb 9 03:58:42 2026 Received: from mx1.riseup.net (mx1.riseup.net [198.252.153.129]) (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 3AA2A1386A3 for ; Wed, 6 Mar 2024 20:03:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.252.153.129 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709755427; cv=none; b=EgFZypxQI532LWWl5DGk8QEVzPqrLn2OcOKjnX8wriusqG4WVdOIBix8ATD7iyGapvYH4JGV+RlqTplKmd5GFi/w2D7BRFJQsK4muSXi7KKIaXpMjBhvC8H0HBcUcaylmFfszQNQPgxHXtAXisc10P2F/ssSiMbBx2Li4WDIpcY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709755427; c=relaxed/simple; bh=aJDZ4Vxhj0c8mxaTvf8OfzINnVswHkVDwaZ4BftVAO0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gA1dW74CwChncyg3bAGyKsdcuB4txM44LpenjTUY4HY1id6EXAj9n7uelS02rkVCYYcBSkGx7yyiJgeR/WGGpwiBlPLLC2xStmZrOzXWcQ7XP6Th+GTwJJBA4FQHHQO60cLWUQlu5mjhbdwSgyDA8vtZig8jIQxFvf0p7pRUoCg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riseup.net; spf=pass smtp.mailfrom=riseup.net; dkim=pass (1024-bit key) header.d=riseup.net header.i=@riseup.net header.b=JZYrCyhu; arc=none smtp.client-ip=198.252.153.129 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riseup.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riseup.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=riseup.net header.i=@riseup.net header.b="JZYrCyhu" Received: from fews02-sea.riseup.net (fews02-sea-pn.riseup.net [10.0.1.112]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx1.riseup.net (Postfix) with ESMTPS id 4Tqk012NgDzDq8y; Wed, 6 Mar 2024 20:03:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1709755425; bh=aJDZ4Vxhj0c8mxaTvf8OfzINnVswHkVDwaZ4BftVAO0=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=JZYrCyhuwaxxvwBmTWhTbdwqX+yxQfSBhbOKo8LCyht1hV3D+3qC0oaNLnJIHVnn9 k3El+VABMgfJlqtz/QhtvkSlofZ7N6hdiNS7EU0pQOB3j+5UfOhNBBdvY4pcOSPCvC jR9rUVynAMVSt7YuhVcjbD+sNJtXdQmQV4V0LGJo= X-Riseup-User-ID: DADEB8FF0353ACC6617D59334D8182D0B118D71F27E0E6AC0D010F7BF29A0ECC Received: from [127.0.0.1] (localhost [127.0.0.1]) by fews02-sea.riseup.net (Postfix) with ESMTPSA id 4Tqjzw1r4LzFvr9; Wed, 6 Mar 2024 20:03:40 +0000 (UTC) From: Arthur Grillo Date: Wed, 06 Mar 2024 17:03:10 -0300 Subject: [PATCH 3/7] drm/vkmm: Use drm_fixed api 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: <20240306-louis-vkms-conv-v1-3-5bfe7d129fdd@riseup.net> References: <20240306-louis-vkms-conv-v1-0-5bfe7d129fdd@riseup.net> In-Reply-To: <20240306-louis-vkms-conv-v1-0-5bfe7d129fdd@riseup.net> To: Rodrigo Siqueira , Melissa Wen , =?utf-8?q?Ma=C3=ADra_Canal?= , Haneen Mohammed , Daniel Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , arthurgrillo@riseup.net, Jonathan Corbet , pekka.paalanen@haloniitty.fi, Louis Chauvet Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, jeremie.dautheribes@bootlin.com, miquel.raynal@bootlin.com, thomas.petazzoni@bootlin.com, seanpaul@google.com, marcheu@google.com, nicolejadeyee@google.com With the new 32.32 values it makes more sense to use drm_fixed functions than trying to recreate the wheel. Signed-off-by: Arthur Grillo --- drivers/gpu/drm/vkms/vkms_formats.c | 54 +++++++++++++++++++--------------= ---- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/drivers/gpu/drm/vkms/vkms_formats.c b/drivers/gpu/drm/vkms/vkm= s_formats.c index 55ed3f598bd7..adde53cdea26 100644 --- a/drivers/gpu/drm/vkms/vkms_formats.c +++ b/drivers/gpu/drm/vkms/vkms_formats.c @@ -191,32 +191,34 @@ VISIBLE_IF_KUNIT struct pixel_argb_u16 argb_u16_from_= yuv888(u8 y, u8 cb, u8 cr, struct conversion_matrix *matrix) { u8 r, g, b; - s64 y_16, cb_16, cr_16; - s64 r_16, g_16, b_16; - - y_16 =3D y - matrix->y_offset; - cb_16 =3D cb - 128; - cr_16 =3D cr - 128; - - r_16 =3D matrix->matrix[0][0] * y_16 + matrix->matrix[0][1] * cb_16 + - matrix->matrix[0][2] * cr_16; - g_16 =3D matrix->matrix[1][0] * y_16 + matrix->matrix[1][1] * cb_16 + - matrix->matrix[1][2] * cr_16; - b_16 =3D matrix->matrix[2][0] * y_16 + matrix->matrix[2][1] * cb_16 + - matrix->matrix[2][2] * cr_16; - - // rounding the values - r_16 =3D r_16 + (1LL << (CONVERSION_MATRIX_FLOAT_DEPTH - 4)); - g_16 =3D g_16 + (1LL << (CONVERSION_MATRIX_FLOAT_DEPTH - 4)); - b_16 =3D b_16 + (1LL << (CONVERSION_MATRIX_FLOAT_DEPTH - 4)); - - r_16 =3D clamp(r_16, 0, (1LL << (CONVERSION_MATRIX_FLOAT_DEPTH + 8)) - 1); - g_16 =3D clamp(g_16, 0, (1LL << (CONVERSION_MATRIX_FLOAT_DEPTH + 8)) - 1); - b_16 =3D clamp(b_16, 0, (1LL << (CONVERSION_MATRIX_FLOAT_DEPTH + 8)) - 1); - - r =3D r_16 >> CONVERSION_MATRIX_FLOAT_DEPTH; - g =3D g_16 >> CONVERSION_MATRIX_FLOAT_DEPTH; - b =3D b_16 >> CONVERSION_MATRIX_FLOAT_DEPTH; + s64 fp_y, fp_cb, fp_cr; + s64 fp_r, fp_g, fp_b; + + fp_y =3D y - matrix->y_offset; + fp_cb =3D cb - 128; + fp_cr =3D cr - 128; + + fp_y =3D drm_int2fixp(fp_y); + fp_cb =3D drm_int2fixp(fp_cb); + fp_cr =3D drm_int2fixp(fp_cr); + + fp_r =3D drm_fixp_mul(matrix->matrix[0][0], fp_y) + + drm_fixp_mul(matrix->matrix[0][1], fp_cb) + + drm_fixp_mul(matrix->matrix[0][2], fp_cr); + fp_g =3D drm_fixp_mul(matrix->matrix[1][0], fp_y) + + drm_fixp_mul(matrix->matrix[1][1], fp_cb) + + drm_fixp_mul(matrix->matrix[1][2], fp_cr); + fp_b =3D drm_fixp_mul(matrix->matrix[2][0], fp_y) + + drm_fixp_mul(matrix->matrix[2][1], fp_cb) + + drm_fixp_mul(matrix->matrix[2][2], fp_cr); + + fp_r =3D drm_fixp2int_round(fp_r); + fp_g =3D drm_fixp2int_round(fp_g); + fp_b =3D drm_fixp2int_round(fp_b); + + r =3D clamp(fp_r, 0, 0xff); + g =3D clamp(fp_g, 0, 0xff); + b =3D clamp(fp_b, 0, 0xff); =20 return argb_u16_from_u8888(255, r, g, b); } --=20 2.43.0 From nobody Mon Feb 9 03:58:42 2026 Received: from mx1.riseup.net (mx1.riseup.net [198.252.153.129]) (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 AFDF1142906 for ; Wed, 6 Mar 2024 20:03:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.252.153.129 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709755433; cv=none; b=umStkdhyUxojdqY0rRLJRw1AorJtK9dwJ9HsfZz70tE+Uo8+iCOgpr+1T9liCcZ/g4JagVoUrvwbAKZBIOvAoaGNiUL2iGq3zN0hxWgw59wDjYZAtRj3fZCNAzWCP8pRKdfbyC1Zm5nAg1mkgd6S23rYdMNaWlohCHxxVAq2xi4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709755433; c=relaxed/simple; bh=59X3+X8y6CRkn1d/16QLRYbU3Gb1zh88V0W6zGldVwE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ibC1FYk0hjP2hGPF+h73v8/GnO80k+SsScrC1rOB3Mkmi/Krue2NxNZOltHqqtycTLLMaUYKKp0D5ucg0trkr8lQIF2tOYjZCe4gb/oSyumKuzdSSd+qbgXUZC3vRos/NawoVO/kARgL0Pkp9hpu/57nEbL+O9/tQCWuRsDib20= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riseup.net; spf=pass smtp.mailfrom=riseup.net; dkim=pass (1024-bit key) header.d=riseup.net header.i=@riseup.net header.b=KBUssgDW; arc=none smtp.client-ip=198.252.153.129 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riseup.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riseup.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=riseup.net header.i=@riseup.net header.b="KBUssgDW" Received: from fews02-sea.riseup.net (fews02-sea-pn.riseup.net [10.0.1.112]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx1.riseup.net (Postfix) with ESMTPS id 4Tqk063sk5zDqKS; Wed, 6 Mar 2024 20:03:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1709755431; bh=59X3+X8y6CRkn1d/16QLRYbU3Gb1zh88V0W6zGldVwE=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=KBUssgDWvwO9q+Gyw3HMYjgIM0oUz4Z4asd7o11r9o4zGCFdblqryU2gx7x8V81z2 kOpIk+hRxkw7eCFKbyMVZNdx8Gh1VR2BuUxu0yi2kgu69UCAAUH68c/n13pYgyxF4T DcnFyDwhSPa4wEalA6KhGslmAeaYJnK3jpRmsi0w= X-Riseup-User-ID: 6CED4191914E2568ECF5ECDD7B8DA489F5CCA88F9C04B501EB2B99EDD3282301 Received: from [127.0.0.1] (localhost [127.0.0.1]) by fews02-sea.riseup.net (Postfix) with ESMTPSA id 4Tqk014150zFvsZ; Wed, 6 Mar 2024 20:03:45 +0000 (UTC) From: Arthur Grillo Date: Wed, 06 Mar 2024 17:03:11 -0300 Subject: [PATCH 4/7] drm/vkms: Fix compilation issues 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: <20240306-louis-vkms-conv-v1-4-5bfe7d129fdd@riseup.net> References: <20240306-louis-vkms-conv-v1-0-5bfe7d129fdd@riseup.net> In-Reply-To: <20240306-louis-vkms-conv-v1-0-5bfe7d129fdd@riseup.net> To: Rodrigo Siqueira , Melissa Wen , =?utf-8?q?Ma=C3=ADra_Canal?= , Haneen Mohammed , Daniel Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , arthurgrillo@riseup.net, Jonathan Corbet , pekka.paalanen@haloniitty.fi, Louis Chauvet Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, jeremie.dautheribes@bootlin.com, miquel.raynal@bootlin.com, thomas.petazzoni@bootlin.com, seanpaul@google.com, marcheu@google.com, nicolejadeyee@google.com Signed-off-by: Arthur Grillo --- drivers/gpu/drm/vkms/tests/vkms_format_test.c | 2 +- drivers/gpu/drm/vkms/vkms_drv.h | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vkms/tests/vkms_format_test.c b/drivers/gpu/dr= m/vkms/tests/vkms_format_test.c index 4636b013602f..3522ecee960f 100644 --- a/drivers/gpu/drm/vkms/tests/vkms_format_test.c +++ b/drivers/gpu/drm/vkms/tests/vkms_format_test.c @@ -113,7 +113,7 @@ static void vkms_format_test_yuv_u8_to_argb_u16(struct = kunit *test) for (size_t i =3D 0; i < param->n_colors; i++) { const struct format_pair *color =3D ¶m->colors[i]; =20 - const struct conversion_matrix *matrix =3D get_conversion_matrix_to_argb= _u16 + struct conversion_matrix *matrix =3D get_conversion_matrix_to_argb_u16 (DRM_FORMAT_NV12, param->encoding, param->range); =20 argb =3D argb_u16_from_yuv888(color->yuv.y, color->yuv.u, color->yuv.v, = matrix); diff --git a/drivers/gpu/drm/vkms/vkms_drv.h b/drivers/gpu/drm/vkms/vkms_dr= v.h index 393b76e7c694..3d62578499ab 100644 --- a/drivers/gpu/drm/vkms/vkms_drv.h +++ b/drivers/gpu/drm/vkms/vkms_drv.h @@ -47,6 +47,10 @@ struct pixel_argb_u16 { u16 a, r, g, b; }; =20 +struct pixel_yuv_u8 { + u8 y, u, v; +}; + struct line_buffer { size_t n_pixels; struct pixel_argb_u16 *pixels; --=20 2.43.0 From nobody Mon Feb 9 03:58:42 2026 Received: from mx1.riseup.net (mx1.riseup.net [198.252.153.129]) (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 5AA7A14262C for ; Wed, 6 Mar 2024 20:03:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.252.153.129 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709755438; cv=none; b=Y2TTmrzlOt/VmNxiIiddXyJPoIuy9gWY/dRddUF+PJIWc+IwXermYbLl+wxOBnA9qL4NPK+n1GHUwiiRuW3trbhq2tsccKIzfBNNL8yGgZTp2oVx6ed92unnJ4yj71jJiqnsAAzXsB8+0X7JfGeAzEJmZhWrAQ6YyZINDLCh/qU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709755438; c=relaxed/simple; bh=lxw3QxFzZobejKxKEX8+mofg4ioooTepWHtlSjpH3R0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sRZHySB0f54lo2DJxn+HOuQzEE9NMkMIvVbc9bOs3KCCFb8H4+B5O/iC/PRvShOMxpGi0iqRtFAPogVvenSED2SiVQBQ37oP7oqHVyFxRPIZoWUg+W85PfFEhjFTFIgLwgrZRZ4IaZ9RZ5Ud7UpU7OzKCRJWYfD7XRK9W2A7Yio= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riseup.net; spf=pass smtp.mailfrom=riseup.net; dkim=pass (1024-bit key) header.d=riseup.net header.i=@riseup.net header.b=RlVxsnWt; arc=none smtp.client-ip=198.252.153.129 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riseup.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riseup.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=riseup.net header.i=@riseup.net header.b="RlVxsnWt" Received: from fews02-sea.riseup.net (fews02-sea-pn.riseup.net [10.0.1.112]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx1.riseup.net (Postfix) with ESMTPS id 4Tqk0D1269zDqnY; Wed, 6 Mar 2024 20:03:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1709755436; bh=lxw3QxFzZobejKxKEX8+mofg4ioooTepWHtlSjpH3R0=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=RlVxsnWte279ebXZibAtjR9pOGDVso/R7VgRzLkblD8VIL4niqiIjxvrqbEunxvGz sLWW0OIMdaMezuRqUcq3fB9BzUzLMXmZRzTIKTKJsihbp+NMW4ks27kZgeaOlPmaIS nkoLmtePaKtThw/RhDILptqtomD8EPXZW80muxV8= X-Riseup-User-ID: 4C9406F16155A317FE8B2D2AC996CC510B513A647C5017F16AE00E0AAB1FE21C Received: from [127.0.0.1] (localhost [127.0.0.1]) by fews02-sea.riseup.net (Postfix) with ESMTPSA id 4Tqk065SYfzFvr9; Wed, 6 Mar 2024 20:03:50 +0000 (UTC) From: Arthur Grillo Date: Wed, 06 Mar 2024 17:03:12 -0300 Subject: [PATCH 5/7] drm/vkms: Add comments to format tests 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: <20240306-louis-vkms-conv-v1-5-5bfe7d129fdd@riseup.net> References: <20240306-louis-vkms-conv-v1-0-5bfe7d129fdd@riseup.net> In-Reply-To: <20240306-louis-vkms-conv-v1-0-5bfe7d129fdd@riseup.net> To: Rodrigo Siqueira , Melissa Wen , =?utf-8?q?Ma=C3=ADra_Canal?= , Haneen Mohammed , Daniel Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , arthurgrillo@riseup.net, Jonathan Corbet , pekka.paalanen@haloniitty.fi, Louis Chauvet Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, jeremie.dautheribes@bootlin.com, miquel.raynal@bootlin.com, thomas.petazzoni@bootlin.com, seanpaul@google.com, marcheu@google.com, nicolejadeyee@google.com Signed-off-by: Arthur Grillo --- drivers/gpu/drm/vkms/tests/vkms_format_test.c | 67 +++++++++++++++++++++++= ++++ 1 file changed, 67 insertions(+) diff --git a/drivers/gpu/drm/vkms/tests/vkms_format_test.c b/drivers/gpu/dr= m/vkms/tests/vkms_format_test.c index 3522ecee960f..66cdd83c3d25 100644 --- a/drivers/gpu/drm/vkms/tests/vkms_format_test.c +++ b/drivers/gpu/drm/vkms/tests/vkms_format_test.c @@ -24,7 +24,24 @@ struct yuv_u8_to_argb_u16_case { } colors[TEST_BUFF_SIZE]; }; =20 +/* + * The YUV color representation were acquired via the colour python framew= ork. + * Below are the function calls used for generating each case. + * + * for more information got to the docs: + * https://colour.readthedocs.io/en/master/generated/colour.RGB_to_YCbCr.h= tml + */ static struct yuv_u8_to_argb_u16_case yuv_u8_to_argb_u16_cases[] =3D { + /* + * colour.RGB_to_YCbCr(, + * K=3Dcolour.WEIGHTS_YCBCR["ITU-R BT.601"], + * in_bits =3D 16, + * in_legal =3D False, + * in_int =3D True, + * out_bits =3D 8, + * out_legal =3D False, + * out_int =3D True) + */ { .encoding =3D DRM_COLOR_YCBCR_BT601, .range =3D DRM_COLOR_YCBCR_FULL_RANGE, @@ -38,6 +55,16 @@ static struct yuv_u8_to_argb_u16_case yuv_u8_to_argb_u16= _cases[] =3D { {"blue", {0x1d, 0xff, 0x6b}, {0xffff, 0x0000, 0x0000, 0xffff}}, }, }, + /* + * colour.RGB_to_YCbCr(, + * K=3Dcolour.WEIGHTS_YCBCR["ITU-R BT.601"], + * in_bits =3D 16, + * in_legal =3D False, + * in_int =3D True, + * out_bits =3D 8, + * out_legal =3D True, + * out_int =3D True) + */ { .encoding =3D DRM_COLOR_YCBCR_BT601, .range =3D DRM_COLOR_YCBCR_LIMITED_RANGE, @@ -51,6 +78,16 @@ static struct yuv_u8_to_argb_u16_case yuv_u8_to_argb_u16= _cases[] =3D { {"blue", {0x29, 0xf0, 0x6e}, {0xffff, 0x0000, 0x0000, 0xffff}}, }, }, + /* + * colour.RGB_to_YCbCr(, + * K=3Dcolour.WEIGHTS_YCBCR["ITU-R BT.709"], + * in_bits =3D 16, + * in_legal =3D False, + * in_int =3D True, + * out_bits =3D 8, + * out_legal =3D False, + * out_int =3D True) + */ { .encoding =3D DRM_COLOR_YCBCR_BT709, .range =3D DRM_COLOR_YCBCR_FULL_RANGE, @@ -64,6 +101,16 @@ static struct yuv_u8_to_argb_u16_case yuv_u8_to_argb_u1= 6_cases[] =3D { {"blue", {0x12, 0xff, 0x74}, {0xffff, 0x0000, 0x0000, 0xffff}}, }, }, + /* + * colour.RGB_to_YCbCr(, + * K=3Dcolour.WEIGHTS_YCBCR["ITU-R BT.709"], + * in_bits =3D 16, + * int_legal =3D False, + * in_int =3D True, + * out_bits =3D 8, + * out_legal =3D True, + * out_int =3D True) + */ { .encoding =3D DRM_COLOR_YCBCR_BT709, .range =3D DRM_COLOR_YCBCR_LIMITED_RANGE, @@ -77,6 +124,16 @@ static struct yuv_u8_to_argb_u16_case yuv_u8_to_argb_u1= 6_cases[] =3D { {"blue", {0x20, 0xf0, 0x76}, {0xffff, 0x0000, 0x0000, 0xffff}}, }, }, + /* + * colour.RGB_to_YCbCr(, + * K=3Dcolour.WEIGHTS_YCBCR["ITU-R BT.2020"], + * in_bits =3D 16, + * in_legal =3D False, + * in_int =3D True, + * out_bits =3D 8, + * out_legal =3D False, + * out_int =3D True) + */ { .encoding =3D DRM_COLOR_YCBCR_BT2020, .range =3D DRM_COLOR_YCBCR_FULL_RANGE, @@ -90,6 +147,16 @@ static struct yuv_u8_to_argb_u16_case yuv_u8_to_argb_u1= 6_cases[] =3D { {"blue", {0x0f, 0xff, 0x76}, {0xffff, 0x0000, 0x0000, 0xffff}}, }, }, + /* + * colour.RGB_to_YCbCr(, + * K=3Dcolour.WEIGHTS_YCBCR["ITU-R BT.2020"], + * in_bits =3D 16, + * in_legal =3D False, + * in_int =3D True, + * out_bits =3D 8, + * out_legal =3D True, + * out_int =3D True) + */ { .encoding =3D DRM_COLOR_YCBCR_BT2020, .range =3D DRM_COLOR_YCBCR_LIMITED_RANGE, --=20 2.43.0 From nobody Mon Feb 9 03:58:42 2026 Received: from mx0.riseup.net (mx0.riseup.net [198.252.153.6]) (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 0EF0414403F for ; Wed, 6 Mar 2024 20:04:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.252.153.6 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709755444; cv=none; b=GHEGrwLWN6kOo50oIxJCja6Ne6TfkegJnXkNtnbnzGG5jFLr7AEoVl9N/sKWikXang+ufrXBmnRhFNy9dUuFEEUMGPpIn7238LO9T6ef3Qs1mYBGcSUme3sISE6wknz1h0KyyPYwblRQ4zpLWyNP1I629kCW+AlSybj4jtHG12I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709755444; c=relaxed/simple; bh=yXbuN+CoZuGbUAgSQaHGYWiyhuige5NUNnLWq/soBQM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GjH1Lj+ZAGbABeVXc+bhX6rZYRXG7BzVeGm170z5ep9hekMS5UGWe17rpDNC3HxlJzXdk24HntvGHtL+CjgppJq+y+u8kNRUjWiqHwVszRFHgY+ZqFuFBODD+EUQhWX1vYjhKDZ/z16Bdra/fG43sQgDNoDGf9F5oPHcgUZu2Mc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riseup.net; spf=pass smtp.mailfrom=riseup.net; dkim=pass (1024-bit key) header.d=riseup.net header.i=@riseup.net header.b=sxaH4jB+; arc=none smtp.client-ip=198.252.153.6 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riseup.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riseup.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=riseup.net header.i=@riseup.net header.b="sxaH4jB+" Received: from fews02-sea.riseup.net (fews02-sea-pn.riseup.net [10.0.1.112]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx0.riseup.net (Postfix) with ESMTPS id 4Tqk0K6DYWz9wLd; Wed, 6 Mar 2024 20:04:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1709755442; bh=yXbuN+CoZuGbUAgSQaHGYWiyhuige5NUNnLWq/soBQM=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=sxaH4jB+I12ibLBpFeegaJT5HHbr9J8j1ezVHJuBPLXC0BVfhqvbjVfBxb7b+6JCI RF+vx+UTTLk3b4s5BI5Cgwr8C4mYoO4uDa7hqYuCbn5M1k0l3wstsYoi8P4YgWHp8U nRXk71dhMWSTZSUIgsT3Kya+Z+5R8JgDdDarHqyQ= X-Riseup-User-ID: 8880DFCE1D029D93798CB6476356726EB753FBDD344B564393D9FDDA451E06DC Received: from [127.0.0.1] (localhost [127.0.0.1]) by fews02-sea.riseup.net (Postfix) with ESMTPSA id 4Tqk0D2vmCzFvsZ; Wed, 6 Mar 2024 20:03:56 +0000 (UTC) From: Arthur Grillo Date: Wed, 06 Mar 2024 17:03:13 -0300 Subject: [PATCH 6/7] drm/vkms: Change the gray RGB representation 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: <20240306-louis-vkms-conv-v1-6-5bfe7d129fdd@riseup.net> References: <20240306-louis-vkms-conv-v1-0-5bfe7d129fdd@riseup.net> In-Reply-To: <20240306-louis-vkms-conv-v1-0-5bfe7d129fdd@riseup.net> To: Rodrigo Siqueira , Melissa Wen , =?utf-8?q?Ma=C3=ADra_Canal?= , Haneen Mohammed , Daniel Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , arthurgrillo@riseup.net, Jonathan Corbet , pekka.paalanen@haloniitty.fi, Louis Chauvet Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, jeremie.dautheribes@bootlin.com, miquel.raynal@bootlin.com, thomas.petazzoni@bootlin.com, seanpaul@google.com, marcheu@google.com, nicolejadeyee@google.com Using the drm_fixed calls, this needs to be changed. Which in fact is more correct, colour.YCbCr_to_RGB() gives 0x8080 for same the yuv parameters. Signed-off-by: Arthur Grillo --- drivers/gpu/drm/vkms/tests/vkms_format_test.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/vkms/tests/vkms_format_test.c b/drivers/gpu/dr= m/vkms/tests/vkms_format_test.c index 66cdd83c3d25..49125cf76eb5 100644 --- a/drivers/gpu/drm/vkms/tests/vkms_format_test.c +++ b/drivers/gpu/drm/vkms/tests/vkms_format_test.c @@ -48,7 +48,7 @@ static struct yuv_u8_to_argb_u16_case yuv_u8_to_argb_u16_= cases[] =3D { .n_colors =3D 6, .colors =3D { {"white", {0xff, 0x80, 0x80}, {0xffff, 0xffff, 0xffff, 0xffff}}, - {"gray", {0x80, 0x80, 0x80}, {0xffff, 0x8000, 0x8000, 0x8000}}, + {"gray", {0x80, 0x80, 0x80}, {0xffff, 0x8080, 0x8080, 0x8080}}, {"black", {0x00, 0x80, 0x80}, {0xffff, 0x0000, 0x0000, 0x0000}}, {"red", {0x4c, 0x55, 0xff}, {0xffff, 0xffff, 0x0000, 0x0000}}, {"green", {0x96, 0x2c, 0x15}, {0xffff, 0x0000, 0xffff, 0x0000}}, @@ -71,7 +71,7 @@ static struct yuv_u8_to_argb_u16_case yuv_u8_to_argb_u16_= cases[] =3D { .n_colors =3D 6, .colors =3D { {"white", {0xeb, 0x80, 0x80}, {0xffff, 0xffff, 0xffff, 0xffff}}, - {"gray", {0x7e, 0x80, 0x80}, {0xffff, 0x8000, 0x8000, 0x8000}}, + {"gray", {0x7e, 0x80, 0x80}, {0xffff, 0x8080, 0x8080, 0x8080}}, {"black", {0x10, 0x80, 0x80}, {0xffff, 0x0000, 0x0000, 0x0000}}, {"red", {0x51, 0x5a, 0xf0}, {0xffff, 0xffff, 0x0000, 0x0000}}, {"green", {0x91, 0x36, 0x22}, {0xffff, 0x0000, 0xffff, 0x0000}}, @@ -94,7 +94,7 @@ static struct yuv_u8_to_argb_u16_case yuv_u8_to_argb_u16_= cases[] =3D { .n_colors =3D 4, .colors =3D { {"white", {0xff, 0x80, 0x80}, {0xffff, 0xffff, 0xffff, 0xffff}}, - {"gray", {0x80, 0x80, 0x80}, {0xffff, 0x8000, 0x8000, 0x8000}}, + {"gray", {0x80, 0x80, 0x80}, {0xffff, 0x8080, 0x8080, 0x8080}}, {"black", {0x00, 0x80, 0x80}, {0xffff, 0x0000, 0x0000, 0x0000}}, {"red", {0x36, 0x63, 0xff}, {0xffff, 0xffff, 0x0000, 0x0000}}, {"green", {0xb6, 0x1e, 0x0c}, {0xffff, 0x0000, 0xffff, 0x0000}}, @@ -117,7 +117,7 @@ static struct yuv_u8_to_argb_u16_case yuv_u8_to_argb_u1= 6_cases[] =3D { .n_colors =3D 4, .colors =3D { {"white", {0xeb, 0x80, 0x80}, {0xffff, 0xffff, 0xffff, 0xffff}}, - {"gray", {0x7e, 0x80, 0x80}, {0xffff, 0x8000, 0x8000, 0x8000}}, + {"gray", {0x7e, 0x80, 0x80}, {0xffff, 0x8080, 0x8080, 0x8080}}, {"black", {0x10, 0x80, 0x80}, {0xffff, 0x0000, 0x0000, 0x0000}}, {"red", {0x3f, 0x66, 0xf0}, {0xffff, 0xffff, 0x0000, 0x0000}}, {"green", {0xad, 0x2a, 0x1a}, {0xffff, 0x0000, 0xffff, 0x0000}}, @@ -140,7 +140,7 @@ static struct yuv_u8_to_argb_u16_case yuv_u8_to_argb_u1= 6_cases[] =3D { .n_colors =3D 4, .colors =3D { {"white", {0xff, 0x80, 0x80}, {0xffff, 0xffff, 0xffff, 0xffff}}, - {"gray", {0x80, 0x80, 0x80}, {0xffff, 0x8000, 0x8000, 0x8000}}, + {"gray", {0x80, 0x80, 0x80}, {0xffff, 0x8080, 0x8080, 0x8080}}, {"black", {0x00, 0x80, 0x80}, {0xffff, 0x0000, 0x0000, 0x0000}}, {"red", {0x43, 0x5c, 0xff}, {0xffff, 0xffff, 0x0000, 0x0000}}, {"green", {0xad, 0x24, 0x0b}, {0xffff, 0x0000, 0xffff, 0x0000}}, @@ -163,7 +163,7 @@ static struct yuv_u8_to_argb_u16_case yuv_u8_to_argb_u1= 6_cases[] =3D { .n_colors =3D 4, .colors =3D { {"white", {0xeb, 0x80, 0x80}, {0xffff, 0xffff, 0xffff, 0xffff}}, - {"gray", {0x7e, 0x80, 0x80}, {0xffff, 0x8000, 0x8000, 0x8000}}, + {"gray", {0x7e, 0x80, 0x80}, {0xffff, 0x8080, 0x8080, 0x8080}}, {"black", {0x10, 0x80, 0x80}, {0xffff, 0x0000, 0x0000, 0x0000}}, {"red", {0x4a, 0x61, 0xf0}, {0xffff, 0xffff, 0x0000, 0x0000}}, {"green", {0xa4, 0x2f, 0x19}, {0xffff, 0x0000, 0xffff, 0x0000}}, --=20 2.43.0 From nobody Mon Feb 9 03:58:42 2026 Received: from mx0.riseup.net (mx0.riseup.net [198.252.153.6]) (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 68F0F145661 for ; Wed, 6 Mar 2024 20:04:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.252.153.6 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709755449; cv=none; b=ats66oc405yx6pZPCH/lq2e/0AfjpbfytqgBVpcdxW5V6jvw2iAehlk/7jb7E6uCGVG/WXBfh7KoGL2BPHjg1qT+QVVcpjetLtvLuPffaVtDd/VECnhuDNzHkJQBTj9PLqGeu9PpIvM9+RIHrtDNFuc++YS9K/eg7dKf4IKmKaw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709755449; c=relaxed/simple; bh=pRKJ1wttMJkyGZCwTEIz+hTdD6Hyg69u3flp9qpG3Q4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rhMueYscvBRzOioHwkWodYhjZYihMhO3fpnIPc9RYy3NzJOuRvDF67/uViRw+JIRmJ7PNR1SteDsqOexrS4e38QCOftH0etW83X+Lla/XaZ2fOty9IC35eZyDHgPksTHnHarAHmcAsqCGT4az0/NDHsWGH21Vn594iqFpQbhwIo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riseup.net; spf=pass smtp.mailfrom=riseup.net; dkim=pass (1024-bit key) header.d=riseup.net header.i=@riseup.net header.b=ayaV22xq; arc=none smtp.client-ip=198.252.153.6 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riseup.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riseup.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=riseup.net header.i=@riseup.net header.b="ayaV22xq" Received: from fews02-sea.riseup.net (fews02-sea-pn.riseup.net [10.0.1.112]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx0.riseup.net (Postfix) with ESMTPS id 4Tqk0R1yfQz9wN6; Wed, 6 Mar 2024 20:04:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1709755447; bh=pRKJ1wttMJkyGZCwTEIz+hTdD6Hyg69u3flp9qpG3Q4=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=ayaV22xqkUWsVtLxjkIUOHqh7kNJ8gHRZLdN4Lu0SPsOYzqLPIPM+abcsoJXd5Uf2 kycE4fQC/uOsqYKKSJ9QQPK6mcJPrlGlciaElmCY57mKFC5rm+tVpaAiGOGKdDyTKv Ons78J6vBlDL0stpuujmta53FkbX+NzqrcC6YCvU= X-Riseup-User-ID: 7889D8E448EB907AFFB289CD86314B66A18DF58B483C34C560BB5166FCAE0B74 Received: from [127.0.0.1] (localhost [127.0.0.1]) by fews02-sea.riseup.net (Postfix) with ESMTPSA id 4Tqk0L0qM7zFsTN; Wed, 6 Mar 2024 20:04:01 +0000 (UTC) From: Arthur Grillo Date: Wed, 06 Mar 2024 17:03:14 -0300 Subject: [PATCH 7/7] drm/vkms: Add how to run the Kunit tests 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: <20240306-louis-vkms-conv-v1-7-5bfe7d129fdd@riseup.net> References: <20240306-louis-vkms-conv-v1-0-5bfe7d129fdd@riseup.net> In-Reply-To: <20240306-louis-vkms-conv-v1-0-5bfe7d129fdd@riseup.net> To: Rodrigo Siqueira , Melissa Wen , =?utf-8?q?Ma=C3=ADra_Canal?= , Haneen Mohammed , Daniel Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , arthurgrillo@riseup.net, Jonathan Corbet , pekka.paalanen@haloniitty.fi, Louis Chauvet Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, jeremie.dautheribes@bootlin.com, miquel.raynal@bootlin.com, thomas.petazzoni@bootlin.com, seanpaul@google.com, marcheu@google.com, nicolejadeyee@google.com Now that we have KUnit tests, add instructions on how to run them. Signed-off-by: Arthur Grillo --- Documentation/gpu/vkms.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Documentation/gpu/vkms.rst b/Documentation/gpu/vkms.rst index 13b866c3617c..5ef5ef2e6a21 100644 --- a/Documentation/gpu/vkms.rst +++ b/Documentation/gpu/vkms.rst @@ -89,6 +89,17 @@ You can also run subtests if you do not want to run the = entire test:: sudo ./build/tests/kms_flip --run-subtest basic-plain-flip --device "sys= :/sys/devices/platform/vkms" sudo IGT_DEVICE=3D"sys:/sys/devices/platform/vkms" ./build/tests/kms_fli= p --run-subtest basic-plain-flip =20 +Testing With KUnit +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +KUnit (Kernel unit testing framework) provides a common framework for unit= tests +within the Linux kernel. +More information in ../dev-tools/kunit/index.rst . + +To run the VKMS KUnit tests:: + + tools/testing/kunit/kunit.py run --kunitconfig=3Ddrivers/gpu/drm/vkms/te= sts + TODO =3D=3D=3D=3D =20 --=20 2.43.0