From 587dce125d25031b00b2bd3cb67f8ee227bf0977 Mon Sep 17 00:00:00 2001 From: Lim Siew Hoon Date: Fri, 24 Nov 2023 09:23:01 +0800 Subject: intel-media-driver: upgrade 23.2.4 -> 23.3.5 Removed patches already merged: - 0001-ARGB-force-to-tile4.patch - 0001-Fix-FC-Corruption-When-Blending-without-Colorfill-in.patch - 0001-Fix-FC-Corruption-When-Blending-without-Colorfill.patch - 0001-Force-to-render-path-according-to-app-setting.patch - 0002-Add-DRM-format-mappings-for-JPEG-decoder-output.patch Rebased patches: - 0001-Disable-VP9-padding-on-MTL.patch - 0004-Set-sRGB-color-space-for-non-video-wall-and-no-backg.patch Added code fixed and new DG2 device id support: - 0002-Add-VASurfaceAttribMemoryType-for-ACM.patch - 0003-Force-ARGB-surface-to-tile4-for-ACM.patch - 0005-XRGB-force-to-do-swizzle-for-AVC-HEVC.patch - 0006-Add-DG2-DIDs.patch Release notes: https://github.com/intel/media-driver/releases/tag/intel-media-23.3.5 Signed-off-by: Lim Siew Hoon Signed-off-by: Anuj Mittal --- ...lor-space-for-non-video-wall-and-no-backg.patch | 96 ++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 recipes-multimedia/libva/files/0004-Set-sRGB-color-space-for-non-video-wall-and-no-backg.patch (limited to 'recipes-multimedia/libva/files/0004-Set-sRGB-color-space-for-non-video-wall-and-no-backg.patch') diff --git a/recipes-multimedia/libva/files/0004-Set-sRGB-color-space-for-non-video-wall-and-no-backg.patch b/recipes-multimedia/libva/files/0004-Set-sRGB-color-space-for-non-video-wall-and-no-backg.patch new file mode 100644 index 00000000..501bde3c --- /dev/null +++ b/recipes-multimedia/libva/files/0004-Set-sRGB-color-space-for-non-video-wall-and-no-backg.patch @@ -0,0 +1,96 @@ +From 9b74d435324cc61e1d63709e13e1ad755fa4ce63 Mon Sep 17 00:00:00 2001 +From: Lu-Anxiao +Date: Mon, 9 Oct 2023 20:47:44 +0800 +Subject: [PATCH 4/7] Set sRGB color space for non-video wall and no background + colorfill cases. + +* [VP] Set sRGB color space for non-video wall and no background colorfill cases. + +This solves the regression caused by +https://github.com/intel/media-driver/commit/a9c2df7b01c2f33775c676f5490ea274410e9db2. + +Upstream-Status: Backport [https://github.com/intel/media-driver/commit/509ab5f6c6d447575c61e32d323aa4e7aa212fbd] + +Signed-off-by: Lim Siew Hoon +--- + .../linux/common/vp/ddi/media_libva_vp.c | 18 +++++++++++++----- + .../linux/common/vp/ddi/ddi_vp_functions.cpp | 19 ++++++++++++++----- + 2 files changed, 27 insertions(+), 10 deletions(-) + +diff --git a/media_driver/linux/common/vp/ddi/media_libva_vp.c b/media_driver/linux/common/vp/ddi/media_libva_vp.c +index 3c7407249..dcff2555a 100644 +--- a/media_driver/linux/common/vp/ddi/media_libva_vp.c ++++ b/media_driver/linux/common/vp/ddi/media_libva_vp.c +@@ -1148,7 +1148,7 @@ DdiVp_SetProcPipelineParams( + + // Background Colorfill + // According to libva definition, if alpha in output background color is zero, then colorfill is not needed +- if ((pPipelineParam->output_background_color >> 24) != 0) ++ if ((pPipelineParam->output_background_color >> 24) != 0 || pVpHalTgtSurf->ColorSpace == CSpace_sRGB) + { + if (pVpHalRenderParams->pColorFillParams == nullptr) + { +@@ -1157,10 +1157,18 @@ DdiVp_SetProcPipelineParams( + + DDI_CHK_NULL(pVpHalRenderParams->pColorFillParams, "Null pColorFillParams.", VA_STATUS_ERROR_UNKNOWN); + +- // set background colorfill option +- pVpHalRenderParams->pColorFillParams->Color = pPipelineParam->output_background_color; +- pVpHalRenderParams->pColorFillParams->bYCbCr = false; +- pVpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB; ++ if (pVpHalTgtSurf->ColorSpace == CSpace_sRGB && (pPipelineParam->output_background_color >> 24) == 0) ++ { ++ // set color space for sRGB output ++ pVpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB; ++ } ++ else ++ { ++ // set background colorfill option ++ pVpHalRenderParams->pColorFillParams->Color = pPipelineParam->output_background_color; ++ pVpHalRenderParams->pColorFillParams->bYCbCr = false; ++ pVpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB; ++ } + }else + { + MOS_FreeMemAndSetNull(pVpHalRenderParams->pColorFillParams); +diff --git a/media_softlet/linux/common/vp/ddi/ddi_vp_functions.cpp b/media_softlet/linux/common/vp/ddi/ddi_vp_functions.cpp +index 7ebad0b59..7c2e4a0e5 100644 +--- a/media_softlet/linux/common/vp/ddi/ddi_vp_functions.cpp ++++ b/media_softlet/linux/common/vp/ddi/ddi_vp_functions.cpp +@@ -2111,8 +2111,9 @@ VAStatus DdiVpFunctions::SetBackgroundColorfill( + { + DDI_VP_FUNC_ENTER; + DDI_VP_CHK_NULL(vpHalRenderParams, "nullptr vpHalRenderParams.", VA_STATUS_ERROR_INVALID_PARAMETER); ++ DDI_VP_CHK_NULL(vpHalRenderParams->pTarget[0],"nullptr pTarget[0].", VA_STATUS_ERROR_INVALID_PARAMETER); + +- if ((outBackGroundcolor >> 24) != 0) ++ if ((outBackGroundcolor >> 24) != 0 || vpHalRenderParams->pTarget[0]->ColorSpace == CSpace_sRGB) + { + if (vpHalRenderParams->pColorFillParams == nullptr) + { +@@ -2121,10 +2122,18 @@ VAStatus DdiVpFunctions::SetBackgroundColorfill( + + DDI_VP_CHK_NULL(vpHalRenderParams->pColorFillParams, "nullptr pColorFillParams.", VA_STATUS_ERROR_UNKNOWN); + +- // set background colorfill option +- vpHalRenderParams->pColorFillParams->Color = outBackGroundcolor; +- vpHalRenderParams->pColorFillParams->bYCbCr = false; +- vpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB; ++ if (vpHalRenderParams->pTarget[0]->ColorSpace == CSpace_sRGB && (outBackGroundcolor >> 24) == 0) ++ { ++ // set color space for sRGB output ++ vpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB; ++ } ++ else ++ { ++ // set background colorfill option ++ vpHalRenderParams->pColorFillParams->Color = outBackGroundcolor; ++ vpHalRenderParams->pColorFillParams->bYCbCr = false; ++ vpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB; ++ } + } + else + { +-- +2.40.1 + -- cgit v1.2.3-54-g00ecf