File remove_x86_64_check.patch of Package libvpl.33558
From 53fbc3b106b6aee1013517a434e199e1f24f67ff Mon Sep 17 00:00:00 2001
From: StefanBruens <stefan.bruens@rwth-aachen.de>
Date: Tue, 13 Sep 2022 14:43:41 +0200
Subject: [PATCH 1/3] Use bitness instead of x86_64 check for library lookup
Both oneVPL SW implementations and dGPUs are available on any platform,
so there is no reason to restrict it to x86_64 only.
Remove no longer used LIBMFXSW define.
Also see #1.
---
dispatcher/linux/mfxloader.cpp | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/dispatcher/linux/mfxloader.cpp b/dispatcher/linux/mfxloader.cpp
index 6ef5c5b8..b240dbee 100644
--- a/dispatcher/linux/mfxloader.cpp
+++ b/dispatcher/linux/mfxloader.cpp
@@ -23,15 +23,16 @@
namespace MFX {
-#if defined(__x86_64__)
- #define LIBMFXSW "libmfxsw64.so.1"
+#if INTPTR_MAX == INT32_MAX
+ #define LIBMFXHW "libmfxhw32.so.1"
+ #define ONEVPLSW "libvplswref32.so.1"
+#elif INTPTR_MAX == INT64_MAX
#define LIBMFXHW "libmfxhw64.so.1"
-
#define ONEVPLSW "libvplswref64.so.1"
- #define ONEVPLHW "libmfx-gen.so.1.2"
#else
#error Unsupported architecture
#endif
+#define ONEVPLHW "libmfx-gen.so.1.2"
#undef FUNCTION
#define FUNCTION(return_value, func_name, formal_param_list, actual_param_list) e##func_name,
From a35bb81afe3fff262738c9fb40b2f171dc6b3d71 Mon Sep 17 00:00:00 2001
From: StefanBruens <stefan.bruens@rwth-aachen.de>
Date: Tue, 13 Sep 2022 15:09:40 +0200
Subject: [PATCH 2/3] Remove superfluous x86_64 check in sample code
---
tools/legacy/sample_common/src/sample_utils.cpp | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/tools/legacy/sample_common/src/sample_utils.cpp b/tools/legacy/sample_common/src/sample_utils.cpp
index cfd84725..1cede874 100644
--- a/tools/legacy/sample_common/src/sample_utils.cpp
+++ b/tools/legacy/sample_common/src/sample_utils.cpp
@@ -42,11 +42,7 @@
#include <link.h>
#include <string>
- #if defined(__x86_64__)
- #define ONEVPL_MASK "libmfx-gen"
- #else
- #error Unsupported architecture
- #endif
+ #define ONEVPL_MASK "libmfx-gen"
#endif // #if defined(_WIN32) || defined(_WIN64)
From 11a0d1547e3fff4bcbd8b0ecc1bbfc4300c091ee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
Date: Tue, 20 Sep 2022 01:23:25 +0200
Subject: [PATCH 3/3] Use ILP32 model on 32 bit ARM
GCC on ARM does not define __ILP32__ or similar, so detect it explicitly.
Fixes #70.
---
api/vpl/mfxdefs.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/api/vpl/mfxdefs.h b/api/vpl/mfxdefs.h
index 35bfb0fc..f9b468ea 100644
--- a/api/vpl/mfxdefs.h
+++ b/api/vpl/mfxdefs.h
@@ -68,7 +68,7 @@ extern "C"
#define MFX_PACK_BEGIN_STRUCT_W_PTR() MFX_PACK_BEGIN_X(4)
#define MFX_PACK_BEGIN_STRUCT_W_L_TYPE() MFX_PACK_BEGIN_X(8)
/* 32-bit ILP32 data model Linux* */
-#elif defined(__ILP32__)
+#elif defined(__ILP32__) || defined(__arm__)
#define MFX_PACK_BEGIN_STRUCT_W_PTR() MFX_PACK_BEGIN_X(4)
#define MFX_PACK_BEGIN_STRUCT_W_L_TYPE() MFX_PACK_BEGIN_X(4)
#else