diff options
-rw-r--r-- | recipes-multimedia/onevpl/onevpl/0001-Fix-basename-build-issue-with-musl_libc.patch | 37 | ||||
-rw-r--r-- | recipes-multimedia/onevpl/onevpl/0001-sample_common-Fix-missing-UYUV-fourcc-enc-input.patch | 41 | ||||
-rw-r--r-- | recipes-multimedia/onevpl/onevpl/0001-sample_common-Fix-regression-of-missing-mutex-init.patch | 48 | ||||
-rw-r--r-- | recipes-multimedia/onevpl/onevpl/0001-samples-Addin-wayland-scanner-auto-generate-on-cmake.patch | 88 | ||||
-rw-r--r-- | recipes-multimedia/onevpl/onevpl/0002-sample_misc-Addin-basic-wayland-dmabuf-support.patch | 90 | ||||
-rw-r--r-- | recipes-multimedia/onevpl/onevpl/0003-sample_misc-use-wayland-dmabuf-to-render-nv12.patch | 94 | ||||
-rw-r--r-- | recipes-multimedia/onevpl/onevpl_2022.1.5.bb (renamed from recipes-multimedia/onevpl/onevpl_2022.0.3.bb) | 12 |
7 files changed, 3 insertions, 407 deletions
diff --git a/recipes-multimedia/onevpl/onevpl/0001-Fix-basename-build-issue-with-musl_libc.patch b/recipes-multimedia/onevpl/onevpl/0001-Fix-basename-build-issue-with-musl_libc.patch deleted file mode 100644 index 14453279..00000000 --- a/recipes-multimedia/onevpl/onevpl/0001-Fix-basename-build-issue-with-musl_libc.patch +++ /dev/null | |||
@@ -1,37 +0,0 @@ | |||
1 | From 72ceb46b43a7a74d20ced961aaff9366ccce53a9 Mon Sep 17 00:00:00 2001 | ||
2 | From: "Yew, Chang Ching" <chang.ching.yew@intel.com> | ||
3 | Date: Mon, 24 Jan 2022 20:49:50 +0800 | ||
4 | Subject: [PATCH 1/5] Fix basename() build issue with musl_libc | ||
5 | |||
6 | Upstream-Status: Submitted | ||
7 | innersource PR #264 | ||
8 | |||
9 | Signed-off-by: Yew, Chang Ching <chang.ching.yew@intel.com> | ||
10 | --- | ||
11 | tools/legacy/sample_common/src/vaapi_utils.cpp | 3 ++- | ||
12 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
13 | |||
14 | diff --git a/tools/legacy/sample_common/src/vaapi_utils.cpp b/tools/legacy/sample_common/src/vaapi_utils.cpp | ||
15 | index 86193d17..db71d413 100644 | ||
16 | --- a/tools/legacy/sample_common/src/vaapi_utils.cpp | ||
17 | +++ b/tools/legacy/sample_common/src/vaapi_utils.cpp | ||
18 | @@ -7,6 +7,7 @@ | ||
19 | #ifdef LIBVA_SUPPORT | ||
20 | |||
21 | #include "vaapi_utils.h" | ||
22 | + #include <libgen.h> | ||
23 | #include <dlfcn.h> | ||
24 | #include <stdexcept> | ||
25 | |||
26 | @@ -24,7 +25,7 @@ namespace MfxLoader { | ||
27 | |||
28 | SimpleLoader::SimpleLoader(const char* name) { | ||
29 | dlerror(); | ||
30 | - so_handle = dlopen(name, RTLD_GLOBAL | RTLD_NOW); | ||
31 | + so_handle = dlopen(basename((char *)name), RTLD_GLOBAL | RTLD_NOW); | ||
32 | if (NULL == so_handle) { | ||
33 | std::cerr << dlerror() << std::endl; | ||
34 | throw std::runtime_error("Can't load library"); | ||
35 | -- | ||
36 | 2.34.1 | ||
37 | |||
diff --git a/recipes-multimedia/onevpl/onevpl/0001-sample_common-Fix-missing-UYUV-fourcc-enc-input.patch b/recipes-multimedia/onevpl/onevpl/0001-sample_common-Fix-missing-UYUV-fourcc-enc-input.patch deleted file mode 100644 index 70e15a30..00000000 --- a/recipes-multimedia/onevpl/onevpl/0001-sample_common-Fix-missing-UYUV-fourcc-enc-input.patch +++ /dev/null | |||
@@ -1,41 +0,0 @@ | |||
1 | From ff5325a437e625d2007568a71d7f403f16d4c367 Mon Sep 17 00:00:00 2001 | ||
2 | From: "Yew, Chang Ching" <chang.ching.yew@intel.com> | ||
3 | Date: Thu, 10 Mar 2022 13:06:28 +0800 | ||
4 | Subject: [PATCH] sample_common: Fix missing UYUV fourcc enc input | ||
5 | |||
6 | Fix regression with commit ae3e355 | ||
7 | |||
8 | Upstream-Status: Submitted | ||
9 | innersource PR #383 | ||
10 | |||
11 | Signed-off-by: Yew, Chang Ching <chang.ching.yew@intel.com> | ||
12 | --- | ||
13 | tools/legacy/sample_common/src/sample_utils.cpp | 12 ++++++------ | ||
14 | 1 file changed, 6 insertions(+), 6 deletions(-) | ||
15 | |||
16 | diff --git a/tools/legacy/sample_common/src/sample_utils.cpp b/tools/legacy/sample_common/src/sample_utils.cpp | ||
17 | index 0437dbdb..a8e25631 100644 | ||
18 | --- a/tools/legacy/sample_common/src/sample_utils.cpp | ||
19 | +++ b/tools/legacy/sample_common/src/sample_utils.cpp | ||
20 | @@ -114,12 +114,12 @@ mfxStatus CSmplYUVReader::Init(std::list<msdk_string> inputs, | ||
21 | |||
22 | if (MFX_FOURCC_NV12 != ColorFormat && MFX_FOURCC_YV12 != ColorFormat && | ||
23 | MFX_FOURCC_I420 != ColorFormat && MFX_FOURCC_YUY2 != ColorFormat && | ||
24 | - MFX_FOURCC_RGB4 != ColorFormat && MFX_FOURCC_BGR4 != ColorFormat && | ||
25 | - MFX_FOURCC_P010 != ColorFormat && MFX_FOURCC_P210 != ColorFormat && | ||
26 | - MFX_FOURCC_AYUV != ColorFormat && MFX_FOURCC_A2RGB10 != ColorFormat && | ||
27 | - MFX_FOURCC_Y210 != ColorFormat && MFX_FOURCC_Y410 != ColorFormat && | ||
28 | - MFX_FOURCC_P016 != ColorFormat && MFX_FOURCC_Y216 != ColorFormat && | ||
29 | - MFX_FOURCC_I010 != ColorFormat) { | ||
30 | + MFX_FOURCC_UYVY != ColorFormat && MFX_FOURCC_RGB4 != ColorFormat && | ||
31 | + MFX_FOURCC_BGR4 != ColorFormat && MFX_FOURCC_P010 != ColorFormat && | ||
32 | + MFX_FOURCC_P210 != ColorFormat && MFX_FOURCC_AYUV != ColorFormat && | ||
33 | + MFX_FOURCC_A2RGB10 != ColorFormat && MFX_FOURCC_Y210 != ColorFormat && | ||
34 | + MFX_FOURCC_Y410 != ColorFormat && MFX_FOURCC_P016 != ColorFormat && | ||
35 | + MFX_FOURCC_Y216 != ColorFormat && MFX_FOURCC_I010 != ColorFormat) { | ||
36 | return MFX_ERR_UNSUPPORTED; | ||
37 | } | ||
38 | |||
39 | -- | ||
40 | 2.17.1 | ||
41 | |||
diff --git a/recipes-multimedia/onevpl/onevpl/0001-sample_common-Fix-regression-of-missing-mutex-init.patch b/recipes-multimedia/onevpl/onevpl/0001-sample_common-Fix-regression-of-missing-mutex-init.patch deleted file mode 100644 index eaf49405..00000000 --- a/recipes-multimedia/onevpl/onevpl/0001-sample_common-Fix-regression-of-missing-mutex-init.patch +++ /dev/null | |||
@@ -1,48 +0,0 @@ | |||
1 | From f6f9d62817d58909fe9eafa555b1638f165dc746 Mon Sep 17 00:00:00 2001 | ||
2 | From: "Yew, Chang Ching" <chang.ching.yew@intel.com> | ||
3 | Date: Wed, 2 Mar 2022 07:56:57 +0800 | ||
4 | Subject: [PATCH] sample_common: Fix regression of missing mutex init | ||
5 | |||
6 | Upstream-Status: Submitted | ||
7 | innersource PR #377 | ||
8 | |||
9 | Signed-off-by: Yew, Chang Ching <chang.ching.yew@intel.com> | ||
10 | --- | ||
11 | tools/legacy/sample_common/src/vm/thread_linux.cpp | 14 ++++++++++++++ | ||
12 | 1 file changed, 14 insertions(+) | ||
13 | |||
14 | diff --git a/tools/legacy/sample_common/src/vm/thread_linux.cpp b/tools/legacy/sample_common/src/vm/thread_linux.cpp | ||
15 | index 819d811f..c17ce5bf 100644 | ||
16 | --- a/tools/legacy/sample_common/src/vm/thread_linux.cpp | ||
17 | +++ b/tools/legacy/sample_common/src/vm/thread_linux.cpp | ||
18 | @@ -22,6 +22,13 @@ MSDKSemaphore::MSDKSemaphore(mfxStatus& sts, mfxU32 count) : msdkSemaphoreHandle | ||
19 | // If pthread_cond_init reports an error m_semaphore was not allocated | ||
20 | throw std::bad_alloc(); | ||
21 | } | ||
22 | + res = pthread_mutex_init(&m_mutex, NULL); | ||
23 | + if (res) { | ||
24 | + if (!pthread_cond_destroy(&m_semaphore)) { | ||
25 | + // do nothing | ||
26 | + } | ||
27 | + throw std::bad_alloc(); | ||
28 | + } | ||
29 | } | ||
30 | |||
31 | MSDKSemaphore::~MSDKSemaphore(void) { | ||
32 | @@ -97,6 +104,13 @@ MSDKEvent::MSDKEvent(mfxStatus& sts, bool manual, bool state) : msdkEventHandle( | ||
33 | //non-zero means something is wrong, throw bad_alloc | ||
34 | throw std::bad_alloc(); | ||
35 | } | ||
36 | + res = pthread_mutex_init(&m_mutex, NULL); | ||
37 | + if (res) { | ||
38 | + if (!pthread_cond_destroy(&m_event)) { | ||
39 | + // do nothing | ||
40 | + } | ||
41 | + throw std::bad_alloc(); | ||
42 | + } | ||
43 | } | ||
44 | |||
45 | MSDKEvent::~MSDKEvent(void) { | ||
46 | -- | ||
47 | 2.17.1 | ||
48 | |||
diff --git a/recipes-multimedia/onevpl/onevpl/0001-samples-Addin-wayland-scanner-auto-generate-on-cmake.patch b/recipes-multimedia/onevpl/onevpl/0001-samples-Addin-wayland-scanner-auto-generate-on-cmake.patch deleted file mode 100644 index 351c707d..00000000 --- a/recipes-multimedia/onevpl/onevpl/0001-samples-Addin-wayland-scanner-auto-generate-on-cmake.patch +++ /dev/null | |||
@@ -1,88 +0,0 @@ | |||
1 | From 7f428b8d0ca95b43b70663c27b525c5d6f7bf28d Mon Sep 17 00:00:00 2001 | ||
2 | From: "Ung, Teng En" <teng.en.ung@intel.com> | ||
3 | Date: Tue, 25 Jan 2022 16:36:19 +0800 | ||
4 | Subject: [PATCH 1/3] samples: Addin wayland-scanner auto generate on cmake. | ||
5 | |||
6 | Upstream-Status: Submitted | ||
7 | innersource PR #269 | ||
8 | --- | ||
9 | tools/legacy/sample_common/CMakeLists.txt | 22 +++++++++++++++++++ | ||
10 | tools/legacy/sample_misc/wayland/CMakeLists.txt | 29 +++++++++++++++++++++++++ | ||
11 | 2 files changed, 51 insertions(+) | ||
12 | |||
13 | diff --git a/tools/legacy/sample_common/CMakeLists.txt b/tools/legacy/sample_common/CMakeLists.txt | ||
14 | index 24245cd..030ffee 100644 | ||
15 | --- a/tools/legacy/sample_common/CMakeLists.txt | ||
16 | +++ b/tools/legacy/sample_common/CMakeLists.txt | ||
17 | @@ -103,6 +103,28 @@ if(CMAKE_SYSTEM_NAME MATCHES Linux) | ||
18 | target_include_directories( | ||
19 | sample_common | ||
20 | PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../sample_misc/wayland/include) | ||
21 | + | ||
22 | + find_program(WAYLAND_SCANNER_BIN "wayland-scanner") | ||
23 | + pkg_check_modules(PKG_WAYLAND_PROTCOLS "wayland-protocols>=1.15") | ||
24 | + | ||
25 | + if(WAYLAND_SCANNER_BIN AND PKG_WAYLAND_PROTCOLS_FOUND) | ||
26 | + pkg_get_variable(WAYLAND_PROTOCOLS_PATH wayland-protocols pkgdatadir) | ||
27 | + if(WAYLAND_PROTOCOLS_PATH) | ||
28 | + find_file( | ||
29 | + WAYLAND_LINUX_DMABUF_XML_PATH linux-dmabuf-unstable-v1.xml | ||
30 | + PATHS ${WAYLAND_PROTOCOLS_PATH}/unstable/linux-dmabuf | ||
31 | + NO_DEFAULT_PATH) | ||
32 | + endif() | ||
33 | + endif() | ||
34 | + | ||
35 | + if(WAYLAND_LINUX_DMABUF_XML_PATH) | ||
36 | + target_compile_definitions( | ||
37 | + sample_common PUBLIC WAYLAND_LINUX_DMABUF_SUPPORT) | ||
38 | + target_include_directories( | ||
39 | + sample_common | ||
40 | + PUBLIC ${CMAKE_BINARY_DIR}/tools/legacy/sample_misc/wayland) | ||
41 | + endif() | ||
42 | + | ||
43 | else() | ||
44 | message( | ||
45 | WARNING | ||
46 | diff --git a/tools/legacy/sample_misc/wayland/CMakeLists.txt b/tools/legacy/sample_misc/wayland/CMakeLists.txt | ||
47 | index cf91987..a2dffbb 100644 | ||
48 | --- a/tools/legacy/sample_misc/wayland/CMakeLists.txt | ||
49 | +++ b/tools/legacy/sample_misc/wayland/CMakeLists.txt | ||
50 | @@ -20,6 +20,35 @@ target_sources( | ||
51 | ${CMAKE_CURRENT_SOURCE_DIR}/src/listener_wayland.cpp | ||
52 | ${CMAKE_CURRENT_SOURCE_DIR}/src/wayland-drm-protocol.c) | ||
53 | |||
54 | +if(WAYLAND_SCANNER_BIN AND PKG_WAYLAND_PROTCOLS_FOUND AND WAYLAND_LINUX_DMABUF_XML_PATH) | ||
55 | + execute_process( | ||
56 | + COMMAND "${WAYLAND_SCANNER_BIN_PATH}\/${WAYLAND_SCANNER_BIN}" | ||
57 | + "client-header" "${WAYLAND_LINUX_DMABUF_XML_PATH}" | ||
58 | + "tools/legacy/sample_misc/wayland/linux-dmabuf-unstable-v1.h" | ||
59 | + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" | ||
60 | + RESULT_VARIABLE WAYLAND_SCANNER_RESULT) | ||
61 | + if (WAYLAND_SCANNER_RESULT) | ||
62 | + message(FATAL_ERROR "Failed to generate linux-dmabuf-unstable-v1.h") | ||
63 | + endif() | ||
64 | + | ||
65 | + execute_process( | ||
66 | + COMMAND "${WAYLAND_SCANNER_BIN_PATH}\/${WAYLAND_SCANNER_BIN}" | ||
67 | + "private-code" "${WAYLAND_LINUX_DMABUF_XML_PATH}" | ||
68 | + "tools/legacy/sample_misc/wayland/linux-dmabuf-unstable-v1.c" | ||
69 | + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" | ||
70 | + RESULT_VARIABLE WAYLAND_SCANNER_RESULT) | ||
71 | + if (WAYLAND_SCANNER_RESULT) | ||
72 | + message(FATAL_ERROR "Failed to generate linux-dmabuf-unstable-v1.c") | ||
73 | + endif() | ||
74 | + | ||
75 | + target_include_directories( | ||
76 | + vpl_wayland PRIVATE ${CMAKE_BINARY_DIR}/tools/legacy/sample_misc/wayland) | ||
77 | + target_sources( | ||
78 | + vpl_wayland | ||
79 | + PRIVATE ${CMAKE_BINARY_DIR}/tools/legacy/sample_misc/wayland/linux-dmabuf-unstable-v1.c) | ||
80 | +endif() | ||
81 | + | ||
82 | + | ||
83 | target_link_libraries(vpl_wayland PRIVATE sample_common wayland-client va drm | ||
84 | drm_intel) | ||
85 | |||
86 | -- | ||
87 | 2.7.4 | ||
88 | |||
diff --git a/recipes-multimedia/onevpl/onevpl/0002-sample_misc-Addin-basic-wayland-dmabuf-support.patch b/recipes-multimedia/onevpl/onevpl/0002-sample_misc-Addin-basic-wayland-dmabuf-support.patch deleted file mode 100644 index d8a55352..00000000 --- a/recipes-multimedia/onevpl/onevpl/0002-sample_misc-Addin-basic-wayland-dmabuf-support.patch +++ /dev/null | |||
@@ -1,90 +0,0 @@ | |||
1 | From 047b7865a69e26c9091b22dceceae1b609a3efbc Mon Sep 17 00:00:00 2001 | ||
2 | From: "Ung, Teng En" <teng.en.ung@intel.com> | ||
3 | Date: Fri, 8 Oct 2021 14:19:40 +0000 | ||
4 | Subject: [PATCH 2/3] sample_misc: Addin basic wayland dmabuf support. | ||
5 | |||
6 | Upstream-Status: Submitted | ||
7 | innersource PR #269 | ||
8 | |||
9 | --- | ||
10 | tools/legacy/sample_misc/wayland/include/class_wayland.h | 16 ++++++++++++++++ | ||
11 | tools/legacy/sample_misc/wayland/src/class_wayland.cpp | 8 ++++++++ | ||
12 | 2 files changed, 24 insertions(+) | ||
13 | |||
14 | diff --git a/tools/legacy/sample_misc/wayland/include/class_wayland.h b/tools/legacy/sample_misc/wayland/include/class_wayland.h | ||
15 | index 29f724f..753b8b1 100644 | ||
16 | --- a/tools/legacy/sample_misc/wayland/include/class_wayland.h | ||
17 | +++ b/tools/legacy/sample_misc/wayland/include/class_wayland.h | ||
18 | @@ -19,6 +19,9 @@ extern "C" { | ||
19 | #include "sample_defs.h" | ||
20 | #include "vpl/mfxstructures.h" | ||
21 | #include "wayland-drm-client-protocol.h" | ||
22 | +#if defined(WAYLAND_LINUX_DMABUF_SUPPORT) | ||
23 | + #include "linux-dmabuf-unstable-v1.h" | ||
24 | +#endif | ||
25 | |||
26 | typedef struct buffer wld_buffer; | ||
27 | |||
28 | @@ -80,6 +83,11 @@ public: | ||
29 | struct wl_drm* GetDrm() { | ||
30 | return m_drm; | ||
31 | } | ||
32 | +#if defined(WAYLAND_LINUX_DMABUF_SUPPORT) | ||
33 | + struct zwp_linux_dmabuf_v1* GetDMABuf() { | ||
34 | + return m_dmabuf; | ||
35 | + } | ||
36 | +#endif | ||
37 | struct wl_shm* GetShm() { | ||
38 | return m_shm; | ||
39 | }; | ||
40 | @@ -107,6 +115,11 @@ public: | ||
41 | void SetDrm(struct wl_drm* drm) { | ||
42 | m_drm = drm; | ||
43 | } | ||
44 | +#if defined(WAYLAND_LINUX_DMABUF_SUPPORT) | ||
45 | + void SetDMABuf(struct zwp_linux_dmabuf_v1* dmabuf) { | ||
46 | + m_dmabuf = dmabuf; | ||
47 | + } | ||
48 | +#endif | ||
49 | void DrmHandleDevice(const char* device); | ||
50 | void DrmHandleAuthenticated(); | ||
51 | void RegistryGlobal(struct wl_registry* registry, | ||
52 | @@ -134,6 +147,9 @@ private: | ||
53 | struct wl_compositor* m_compositor; | ||
54 | struct wl_shell* m_shell; | ||
55 | struct wl_drm* m_drm; | ||
56 | +#if defined(WAYLAND_LINUX_DMABUF_SUPPORT) | ||
57 | + struct zwp_linux_dmabuf_v1* m_dmabuf; | ||
58 | +#endif | ||
59 | struct wl_shm* m_shm; | ||
60 | struct wl_shm_pool* m_pool; | ||
61 | struct wl_surface* m_surface; | ||
62 | diff --git a/tools/legacy/sample_misc/wayland/src/class_wayland.cpp b/tools/legacy/sample_misc/wayland/src/class_wayland.cpp | ||
63 | index c5e3359..7eac204 100644 | ||
64 | --- a/tools/legacy/sample_misc/wayland/src/class_wayland.cpp | ||
65 | +++ b/tools/legacy/sample_misc/wayland/src/class_wayland.cpp | ||
66 | @@ -37,6 +37,9 @@ Wayland::Wayland() | ||
67 | m_compositor(NULL), | ||
68 | m_shell(NULL), | ||
69 | m_drm(NULL), | ||
70 | +#if defined(WAYLAND_LINUX_DMABUF_SUPPORT) | ||
71 | + m_dmabuf(NULL), | ||
72 | +#endif | ||
73 | m_shm(NULL), | ||
74 | m_pool(NULL), | ||
75 | m_surface(NULL), | ||
76 | @@ -347,6 +350,11 @@ void Wayland::RegistryGlobal(struct wl_registry* registry, | ||
77 | m_drm = static_cast<wl_drm*>(wl_registry_bind(registry, name, &wl_drm_interface, 2)); | ||
78 | wl_drm_add_listener(m_drm, &drm_listener, this); | ||
79 | } | ||
80 | +#if defined(WAYLAND_LINUX_DMABUF_SUPPORT) | ||
81 | + else if(0 == strcmp(interface, "zwp_linux_dmabuf_v1")) | ||
82 | + m_dmabuf = static_cast<zwp_linux_dmabuf_v1*>( | ||
83 | + wl_registry_bind(registry, name, &zwp_linux_dmabuf_v1_interface, version)); | ||
84 | +#endif | ||
85 | } | ||
86 | |||
87 | void Wayland::DrmHandleDevice(const char* name) { | ||
88 | -- | ||
89 | 2.7.4 | ||
90 | |||
diff --git a/recipes-multimedia/onevpl/onevpl/0003-sample_misc-use-wayland-dmabuf-to-render-nv12.patch b/recipes-multimedia/onevpl/onevpl/0003-sample_misc-use-wayland-dmabuf-to-render-nv12.patch deleted file mode 100644 index 50ed3ca7..00000000 --- a/recipes-multimedia/onevpl/onevpl/0003-sample_misc-use-wayland-dmabuf-to-render-nv12.patch +++ /dev/null | |||
@@ -1,94 +0,0 @@ | |||
1 | From e2b5041b272e0cb8b3c4c9d332b0bbc3dda05e69 Mon Sep 17 00:00:00 2001 | ||
2 | From: "Ung, Teng En" <teng.en.ung@intel.com> | ||
3 | Date: Fri, 8 Oct 2021 14:38:45 +0000 | ||
4 | Subject: [PATCH 3/3] sample_misc: use wayland dmabuf to render nv12 | ||
5 | |||
6 | Upstream-Status: Submitted | ||
7 | innersource PR #269 | ||
8 | |||
9 | --- | ||
10 | .../sample_misc/wayland/src/class_wayland.cpp | 60 +++++++++++++++++----- | ||
11 | 1 file changed, 47 insertions(+), 13 deletions(-) | ||
12 | |||
13 | diff --git a/tools/legacy/sample_misc/wayland/src/class_wayland.cpp b/tools/legacy/sample_misc/wayland/src/class_wayland.cpp | ||
14 | index 7eac204..68fcea4 100644 | ||
15 | --- a/tools/legacy/sample_misc/wayland/src/class_wayland.cpp | ||
16 | +++ b/tools/legacy/sample_misc/wayland/src/class_wayland.cpp | ||
17 | @@ -13,6 +13,7 @@ | ||
18 | #include <iostream> | ||
19 | extern "C" { | ||
20 | #include <drm.h> | ||
21 | +#include <drm_fourcc.h> | ||
22 | #include <intel_bufmgr.h> | ||
23 | #include <xf86drm.h> | ||
24 | } | ||
25 | @@ -292,20 +293,53 @@ struct wl_buffer* Wayland::CreatePrimeBuffer(uint32_t name, | ||
26 | int32_t offsets[3], | ||
27 | int32_t pitches[3]) { | ||
28 | struct wl_buffer* buffer = NULL; | ||
29 | - if (NULL == m_drm) | ||
30 | - return NULL; | ||
31 | |||
32 | - buffer = wl_drm_create_prime_buffer(m_drm, | ||
33 | - name, | ||
34 | - width, | ||
35 | - height, | ||
36 | - format, | ||
37 | - offsets[0], | ||
38 | - pitches[0], | ||
39 | - offsets[1], | ||
40 | - pitches[1], | ||
41 | - offsets[2], | ||
42 | - pitches[2]); | ||
43 | +#if defined(WAYLAND_LINUX_DMABUF_SUPPORT) | ||
44 | + if (format == WL_DRM_FORMAT_NV12) { | ||
45 | + if(NULL == m_dmabuf) | ||
46 | + return NULL; | ||
47 | + | ||
48 | + struct zwp_linux_buffer_params_v1 *dmabuf_params = NULL; | ||
49 | + int i = 0; | ||
50 | + uint64_t modifier = I915_FORMAT_MOD_Y_TILED; | ||
51 | + | ||
52 | + dmabuf_params = zwp_linux_dmabuf_v1_create_params(m_dmabuf); | ||
53 | + for(i = 0; i < 2; i++) { | ||
54 | + zwp_linux_buffer_params_v1_add(dmabuf_params, | ||
55 | + name, | ||
56 | + i, | ||
57 | + offsets[i], | ||
58 | + pitches[i], | ||
59 | + modifier >> 32, | ||
60 | + modifier & 0xffffffff); | ||
61 | + } | ||
62 | + | ||
63 | + buffer = zwp_linux_buffer_params_v1_create_immed(dmabuf_params, | ||
64 | + width, | ||
65 | + height, | ||
66 | + format, | ||
67 | + 0); | ||
68 | + | ||
69 | + zwp_linux_buffer_params_v1_destroy(dmabuf_params); | ||
70 | + } else | ||
71 | +#endif | ||
72 | + { | ||
73 | + if(NULL == m_drm) | ||
74 | + return NULL; | ||
75 | + | ||
76 | + buffer = wl_drm_create_prime_buffer(m_drm, | ||
77 | + name, | ||
78 | + width, | ||
79 | + height, | ||
80 | + format, | ||
81 | + offsets[0], | ||
82 | + pitches[0], | ||
83 | + offsets[1], | ||
84 | + pitches[1], | ||
85 | + offsets[2], | ||
86 | + pitches[2]); | ||
87 | + } | ||
88 | + | ||
89 | return buffer; | ||
90 | } | ||
91 | |||
92 | -- | ||
93 | 2.7.4 | ||
94 | |||
diff --git a/recipes-multimedia/onevpl/onevpl_2022.0.3.bb b/recipes-multimedia/onevpl/onevpl_2022.1.5.bb index 66be720f..d3a9a59f 100644 --- a/recipes-multimedia/onevpl/onevpl_2022.0.3.bb +++ b/recipes-multimedia/onevpl/onevpl_2022.1.5.bb | |||
@@ -6,17 +6,11 @@ that works across a wide range of accelerators." | |||
6 | HOMEPAGE = "https://github.com/oneapi-src/oneVPL" | 6 | HOMEPAGE = "https://github.com/oneapi-src/oneVPL" |
7 | LICENSE = "MIT" | 7 | LICENSE = "MIT" |
8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=c18ea6bb4786a26bf4eee88a7424a408 \ | 8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=c18ea6bb4786a26bf4eee88a7424a408 \ |
9 | file://third-party-programs.txt;md5=43ed11c52f754dafaa62e2cfdd2bac13" | 9 | file://third-party-programs.txt;md5=f43d223f2b736e89abed9660483d0386" |
10 | 10 | ||
11 | SRC_URI = "git://github.com/oneapi-src/oneVPL.git;protocol=https;branch=master \ | 11 | SRC_URI = "git://github.com/oneapi-src/oneVPL.git;protocol=https;branch=master \ |
12 | file://0001-Fix-basename-build-issue-with-musl_libc.patch \ | ||
13 | file://0001-samples-Addin-wayland-scanner-auto-generate-on-cmake.patch \ | ||
14 | file://0002-sample_misc-Addin-basic-wayland-dmabuf-support.patch \ | ||
15 | file://0003-sample_misc-use-wayland-dmabuf-to-render-nv12.patch \ | ||
16 | file://0001-sample_common-Fix-regression-of-missing-mutex-init.patch \ | ||
17 | file://0001-sample_common-Fix-missing-UYUV-fourcc-enc-input.patch \ | ||
18 | " | 12 | " |
19 | SRCREV = "efc259f8b7ee5c334bca1a904a503186038bbbdd" | 13 | SRCREV = "b90dbc9e673ee119f841e67184194446069c45a6" |
20 | S = "${WORKDIR}/git" | 14 | S = "${WORKDIR}/git" |
21 | 15 | ||
22 | inherit cmake | 16 | inherit cmake |
@@ -41,5 +35,5 @@ FILES_SOLIBSDEV = "" | |||
41 | FILES:${PN}-dev += "${libdir}/libvpl.so" | 35 | FILES:${PN}-dev += "${libdir}/libvpl.so" |
42 | 36 | ||
43 | FILES:${PN} += "${datadir} \ | 37 | FILES:${PN} += "${datadir} \ |
44 | ${libdir}/oneVPL/libvpl_wayland.so \ | 38 | ${libdir}/vpl/libvpl_wayland.so \ |
45 | " | 39 | " |