If we are using I915_FORMAT_MOD_Y_TILED which is needed for
NV12 format then modifiers need to be enabled which can be passed
as flags argument to ioctl.

Signed-off-by: Sodhi, Vunny <[email protected]>
---
 ...Fixed-tile-modifier-issue-for-NV12-format.patch | 49 ++++++++++++++++++++++
 .../mediasdk/intel-mediasdk_21.2.3.bb              |  1 +
 2 files changed, 50 insertions(+)
 create mode 100644 
recipes-multimedia/mediasdk/files/0001-Fixed-tile-modifier-issue-for-NV12-format.patch

diff --git 
a/recipes-multimedia/mediasdk/files/0001-Fixed-tile-modifier-issue-for-NV12-format.patch
 
b/recipes-multimedia/mediasdk/files/0001-Fixed-tile-modifier-issue-for-NV12-format.patch
new file mode 100644
index 0000000..c249c17
--- /dev/null
+++ 
b/recipes-multimedia/mediasdk/files/0001-Fixed-tile-modifier-issue-for-NV12-format.patch
@@ -0,0 +1,49 @@
+From 3fc9fe078c850643f8070cce1d2b0307a9014523 Mon Sep 17 00:00:00 2001
+From: "Sodhi, Vunny" <[email protected]>
+Date: Fri, 13 Aug 2021 12:09:26 +0800
+Subject: [meta-intel][PATCH] Fixed tile modifier issue for NV12 format
+
+If we are using I915_FORMAT_MOD_Y_TILED which is needed for
+NV12 format then modifiers need to be enabled which can be passed
+as flags argument to ioctl.
+
+Upstream-Status: Submitted
+https://github.com/Intel-Media-SDK/MediaSDK/pull/2755
+
+Signed-off-by: Sodhi, Vunny <[email protected]>
+---
+ samples/sample_common/src/vaapi_utils_drm.cpp | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/samples/sample_common/src/vaapi_utils_drm.cpp 
b/samples/sample_common/src/vaapi_utils_drm.cpp
+index 5ad73dd..73c8bd2 100644
+--- a/samples/sample_common/src/vaapi_utils_drm.cpp
++++ b/samples/sample_common/src/vaapi_utils_drm.cpp
+@@ -422,7 +422,7 @@ void* drmRenderer::acquire(mfxMemId mid)
+         int ret = m_drmlib.drmIoctl(m_fd, DRM_IOCTL_GEM_OPEN, &flink_open);
+         if (ret) return NULL;
+ 
+-        uint32_t handles[4], pitches[4], offsets[4], pixel_format;
++        uint32_t handles[4], pitches[4], offsets[4], pixel_format, flags = 0;
+         uint64_t modifiers[4];
+ 
+         memset(&handles, 0, sizeof(handles));
+@@ -452,13 +452,14 @@ void* drmRenderer::acquire(mfxMemId mid)
+             pitches[1] = vmid->m_image.pitches[1];
+             offsets[1] = vmid->m_image.offsets[1];
+             modifiers[0] = modifiers[1] = I915_FORMAT_MOD_Y_TILED;
++            flags = 2; // DRM_MODE_FB_MODIFIERS   (1<<1) /* enables 
->modifer[]
+        }
+        else {
+             pixel_format = DRM_FORMAT_XRGB8888;
+        }
+ 
+         ret = m_drmlib.drmModeAddFB2WithModifiers(m_fd, vmid->m_image.width, 
vmid->m_image.height,
+-              pixel_format, handles, pitches, offsets, modifiers, &fbhandle, 
0);
++              pixel_format, handles, pitches, offsets, modifiers, &fbhandle, 
flags);
+         if (ret) return NULL;
+ 
+         MSDK_ZERO_MEMORY(flink_close);
+-- 
+2.7.4
+
diff --git a/recipes-multimedia/mediasdk/intel-mediasdk_21.2.3.bb 
b/recipes-multimedia/mediasdk/intel-mediasdk_21.2.3.bb
index acdc83e..73e41f1 100644
--- a/recipes-multimedia/mediasdk/intel-mediasdk_21.2.3.bb
+++ b/recipes-multimedia/mediasdk/intel-mediasdk_21.2.3.bb
@@ -33,6 +33,7 @@ PACKAGECONFIG[wayland]        = "-DENABLE_WAYLAND=ON, 
-DENABLE_WAYLAND=OFF, wayland way
 
 SRC_URI = 
"git://github.com/Intel-Media-SDK/MediaSDK.git;protocol=https;nobranch=1;lfs=0 \
            file://0001-FindITT.cmake-fix-detection-of-header-library.patch \
+           file://0001-Fixed-tile-modifier-issue-for-NV12-format.patch \
            "
 
 SRCREV = "24b964e32692f68ed01aad73850bdaa440c2fcd7"
-- 
2.7.4

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#7191): 
https://lists.yoctoproject.org/g/meta-intel/message/7191
Mute This Topic: https://lists.yoctoproject.org/mt/84859960/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-intel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to