From bac10aa6d26c66ff51dee1dec849e56cbeba02d4 Mon Sep 17 00:00:00 2001 From: Gil Pedersen Date: Wed, 19 Nov 2025 15:06:45 +0100 Subject: [PATCH] intel: Add PIPE_FORMAT_R10G10B10X2_UNORM support This utilizes the RGBX format faking logic from e8cd7a30 to enable PIPE_FORMAT_R10G10B10X2_UNORM renderer support using swizzling. This format is needed for better HDR rendering support in the iris driver, to support the Proton / Wine DXGI implementation, which requires an RGBA ordered renderer for its Vulkan implementation. This in turn requires the Wayland display to support both alpha and opaque formats. The check currently fails, since only PIPE_FORMAT_R10G10B10A2_UNORM is exposed when Gallium (iris) is the DRI Wayland renderer. Cc: mesa-stable Reviewed-by: Lionel Landwerlin Part-of: (cherry picked from commit 858364be71efb5d78333b06c36b2abf9776210fc) --- .pick_status.json | 2 +- src/intel/isl/isl_format.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index 1cd7875de5c..fe07a48e5cb 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -24,7 +24,7 @@ "description": "intel: Add PIPE_FORMAT_R10G10B10X2_UNORM support", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/intel/isl/isl_format.c b/src/intel/isl/isl_format.c index e6a10820b82..1baeaa27822 100644 --- a/src/intel/isl/isl_format.c +++ b/src/intel/isl/isl_format.c @@ -688,6 +688,7 @@ isl_format_for_pipe_format(enum pipe_format pf) [PIPE_FORMAT_R16G16B16X16_SINT] = ISL_FORMAT_R16G16B16A16_SINT, [PIPE_FORMAT_R32G32B32X32_UINT] = ISL_FORMAT_R32G32B32A32_UINT, [PIPE_FORMAT_R32G32B32X32_SINT] = ISL_FORMAT_R32G32B32A32_SINT, + [PIPE_FORMAT_R10G10B10X2_UNORM] = ISL_FORMAT_R10G10B10A2_UNORM, [PIPE_FORMAT_R10G10B10X2_SNORM] = ISL_FORMAT_R10G10B10A2_SNORM, }; assert(pf < PIPE_FORMAT_COUNT);