From 58f8143da3ef5ba6afa8d55e4ccb4b08014ab9e8 Mon Sep 17 00:00:00 2001 From: Christian Gmeiner Date: Wed, 2 Oct 2024 15:00:31 +0200 Subject: [PATCH] mesa/formats: Add MESA_FORMAT_NV12 Needed for st_pipe_format_to_mesa_format() be able to handle the NV12 format directly. Signed-off-by: Christian Gmeiner Part-of: --- src/mesa/main/format_info.py | 2 ++ src/mesa/main/formats.c | 1 + src/mesa/main/formats.csv | 1 + src/mesa/main/formats.h | 1 + 4 files changed, 5 insertions(+) diff --git a/src/mesa/main/format_info.py b/src/mesa/main/format_info.py index c88b905f72b..478ae179e1e 100644 --- a/src/mesa/main/format_info.py +++ b/src/mesa/main/format_info.py @@ -27,6 +27,8 @@ import sys def get_gl_base_format(fmat): if fmat.name == 'MESA_FORMAT_NONE': return 'GL_NONE' + elif fmat.name == 'MESA_FORMAT_NV12': + return 'GL_NONE' elif fmat.name in ['MESA_FORMAT_YCBCR', 'MESA_FORMAT_YCBCR_REV']: return 'GL_YCBCR_MESA' elif fmat.has_channel('r'): diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c index f8751ab114c..275700763d6 100644 --- a/src/mesa/main/formats.c +++ b/src/mesa/main/formats.c @@ -980,6 +980,7 @@ _mesa_uncompressed_format_to_type(mesa_format format) case MESA_FORMAT_I_UNORM16: case MESA_FORMAT_YCBCR: case MESA_FORMAT_YCBCR_REV: + case MESA_FORMAT_NV12: case MESA_FORMAT_RG_RB_UNORM8: case MESA_FORMAT_RB_RG_UNORM8: case MESA_FORMAT_GR_BR_UNORM8: diff --git a/src/mesa/main/formats.csv b/src/mesa/main/formats.csv index 1b9ee62f8a7..6252d830794 100644 --- a/src/mesa/main/formats.csv +++ b/src/mesa/main/formats.csv @@ -92,6 +92,7 @@ MESA_FORMAT_A2R10G10B10_UNORM , packed, 1, 1, 1, un2 , un10, un10, u MESA_FORMAT_YCBCR , other , 1, 1, 1, x16 , , , , xyzw, yuv MESA_FORMAT_YCBCR_REV , other , 1, 1, 1, x16 , , , , xyzw, yuv +MESA_FORMAT_NV12 , other , 1, 1, 1, x16 , , , , xyzw, yuv MESA_FORMAT_RG_RB_UNORM8 , other , 2, 1, 1, x16 , , , , xyz1, rgb MESA_FORMAT_RB_RG_UNORM8 , other , 2, 1, 1, x16 , , , , xyz1, rgb diff --git a/src/mesa/main/formats.h b/src/mesa/main/formats.h index 9e3786a3c7f..d40b3b31191 100644 --- a/src/mesa/main/formats.h +++ b/src/mesa/main/formats.h @@ -386,6 +386,7 @@ typedef enum pipe_format mesa_format; #define MESA_FORMAT_A2R10G10B10_UNORM PIPE_FORMAT_A2R10G10B10_UNORM #define MESA_FORMAT_YCBCR PIPE_FORMAT_UYVY #define MESA_FORMAT_YCBCR_REV PIPE_FORMAT_YUYV +#define MESA_FORMAT_NV12 PIPE_FORMAT_NV12 #define MESA_FORMAT_RG_RB_UNORM8 PIPE_FORMAT_R8G8_R8B8_UNORM #define MESA_FORMAT_RB_RG_UNORM8 PIPE_FORMAT_R8B8_R8G8_UNORM #define MESA_FORMAT_GR_BR_UNORM8 PIPE_FORMAT_G8R8_B8R8_UNORM