[Mesa-dev] [PATCH] i965: Support __DRI_IMAGE_FORMAT_XBGR2101010
Ilia Mirkin
imirkin at alum.mit.edu
Fri Apr 27 20:38:21 UTC 2018
Looks like your patch is against a fairly old tree. In the current
one, the following dri image formats exist:
#define __DRI_IMAGE_FORMAT_XBGR2101010 0x1010
#define __DRI_IMAGE_FORMAT_ABGR2101010 0x1011
#define __DRI_IMAGE_FORMAT_SABGR8 0x1012
I piped the XB30/AB30 stuff through to st/mesa -- I suspect I didn't
touch the intel driver though, so those are probably still valid. Do
check though.
-ilia
On Fri, Apr 27, 2018 at 4:16 PM, Miguel Casas <mcasas at chromium.org> wrote:
> This patch adds support for XBGR2101010 (a.k.a. XB30) to i965.
> ToT supports XR30/AR30; XB30 is needed to support GL_RGB10_*
> texture internal formats with the correct channel order.
>
> BUG=https://crbug.com/776093
> TEST=Compile and deploy mesa+this patch, then playback
> a VP9 Profile 2 video with sw decoder using crrev.com/c/897894.
>
> Change-Id: Ib6b4e435d526670777e0aebcf03bf19432ae5c9d
> ---
> include/GL/internal/dri_interface.h | 1 +
> src/mesa/drivers/dri/i965/brw_surface_formats.c | 1 +
> src/mesa/drivers/dri/i965/intel_screen.c | 3 +++
> 3 files changed, 5 insertions(+)
>
> diff --git a/include/GL/internal/dri_interface.h b/include/GL/internal/dri_interface.h
> index 34a5c9fb01..d4bcf4f80d 100644
> --- a/include/GL/internal/dri_interface.h
> +++ b/include/GL/internal/dri_interface.h
> @@ -1227,6 +1227,7 @@ struct __DRIdri2ExtensionRec {
> #define __DRI_IMAGE_FORMAT_R16 0x100d
> #define __DRI_IMAGE_FORMAT_GR1616 0x100e
> #define __DRI_IMAGE_FORMAT_YUYV 0x100f
> +#define __DRI_IMAGE_FORMAT_XBGR2101010 0x1010
>
> #define __DRI_IMAGE_USE_SHARE 0x0001
> #define __DRI_IMAGE_USE_SCANOUT 0x0002
> diff --git a/src/mesa/drivers/dri/i965/brw_surface_formats.c b/src/mesa/drivers/dri/i965/brw_surface_formats.c
> index 879cb42453..c1d0b80df8 100644
> --- a/src/mesa/drivers/dri/i965/brw_surface_formats.c
> +++ b/src/mesa/drivers/dri/i965/brw_surface_formats.c
> @@ -187,6 +187,7 @@ brw_isl_format_for_mesa_format(mesa_format mesa_format)
> [MESA_FORMAT_R11G11B10_FLOAT] = ISL_FORMAT_R11G11B10_FLOAT,
>
> [MESA_FORMAT_R10G10B10A2_UNORM] = ISL_FORMAT_R10G10B10A2_UNORM,
> + [MESA_FORMAT_R10G10B10X2_UNORM] = ISL_FORMAT_R10G10B10A2_UNORM,
> [MESA_FORMAT_B10G10R10A2_UINT] = ISL_FORMAT_B10G10R10A2_UINT,
> [MESA_FORMAT_R10G10B10A2_UINT] = ISL_FORMAT_R10G10B10A2_UINT,
>
> diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c
> index a4e34e9f2c..8d548d92f3 100644
> --- a/src/mesa/drivers/dri/i965/intel_screen.c
> +++ b/src/mesa/drivers/dri/i965/intel_screen.c
> @@ -186,6 +186,9 @@ static const struct intel_image_format intel_image_formats[] = {
> { __DRI_IMAGE_FOURCC_XRGB2101010, __DRI_IMAGE_COMPONENTS_RGB, 1,
> { { 0, 0, 0, __DRI_IMAGE_FORMAT_XRGB2101010, 4 } } },
>
> + { __DRI_IMAGE_FOURCC_XBGR2101010, __DRI_IMAGE_COMPONENTS_RGB, 1,
> + { { 0, 0, 0, __DRI_IMAGE_FORMAT_XBGR2101010, 4 } } },
> +
> { __DRI_IMAGE_FOURCC_ARGB8888, __DRI_IMAGE_COMPONENTS_RGBA, 1,
> { { 0, 0, 0, __DRI_IMAGE_FORMAT_ARGB8888, 4 } } },
>
> --
> 2.13.5
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list