From d59fcc714ecaddbc5d668af1fa364e9de916b792 Mon Sep 17 00:00:00 2001 From: Mario Kleiner Date: Mon, 13 Mar 2023 15:57:34 +0100 Subject: [PATCH] v3d: add B10G10R10[X2/A2]_UNORM to format table. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Enables 10 bpc / color depth 30 bit support under XOrg with X11/GLX/OpenGL. Successfully tested with RaspberryPi OS 11, running X-Server 1.20, and also with Weston, on a RaspberryPi 400 on top of current Mesa 24.0-devel. Alejandro Piñeiro also performed a GLES CTS run with successful result, citing him: "Full GLES 31 CTS finished with 0 failres. So all ok" Note that this commit was originally developed and successfully tested by myself against Mesa 23.1-devel from February 2023, and therefore should apply and work cleanly against recent Mesa stable branches. One could see this commit as a trivial compatibility fix against X-Server 1.20 / modesetting-ddx 1.20, which is why I'm also nominating this commit for the current 23.3 stable branch, and also the 23.2 stable branch, so it may make it into RaspberryPi OS 12. Thanks for the consideration. Signed-off-by: Mario Kleiner Reviewed-by: Iago Toral Quiroga Reviewed-by: Alejandro Piñeiro Backport-to: 23.2 Backport-to: 23.3 Part-of: (cherry picked from commit 1700c6af6f807f801382c6cea5cb7136563e8bad) --- .pick_status.json | 2 +- src/gallium/drivers/v3d/v3dx_format_table.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index 8e7b074..b21aec60 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -4,7 +4,7 @@ "description": "v3d: add B10G10R10[X2/A2]_UNORM to format table.", "nominated": false, "nomination_type": 4, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/gallium/drivers/v3d/v3dx_format_table.c b/src/gallium/drivers/v3d/v3dx_format_table.c index 78f6d95..2e72cb1 100644 --- a/src/gallium/drivers/v3d/v3dx_format_table.c +++ b/src/gallium/drivers/v3d/v3dx_format_table.c @@ -70,7 +70,9 @@ static const struct v3d_format format_table[] = { FORMAT(R8G8B8A8_SNORM, NO, RGBA8_SNORM, SWIZ_XYZW, 16, 0), FORMAT(R8G8B8X8_SNORM, NO, RGBA8_SNORM, SWIZ_XYZ1, 16, 0), FORMAT(R10G10B10A2_UNORM, RGB10_A2, RGB10_A2, SWIZ_XYZW, 16, 0), + FORMAT(B10G10R10A2_UNORM, RGB10_A2, RGB10_A2, SWIZ_ZYXW, 16, 0), FORMAT(R10G10B10X2_UNORM, RGB10_A2, RGB10_A2, SWIZ_XYZ1, 16, 0), + FORMAT(B10G10R10X2_UNORM, RGB10_A2, RGB10_A2, SWIZ_ZYX1, 16, 0), FORMAT(R10G10B10A2_UINT, RGB10_A2UI, RGB10_A2UI, SWIZ_XYZW, 16, 0), FORMAT(A4B4G4R4_UNORM, ABGR4444, RGBA4, SWIZ_XYZW, 16, 0), -- 2.7.4