1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-22 04:17:44 +00:00

lang/intel-compute-runtime: drop i386 support

Probably didn't work, anyway. Upstream works on aarch64 instead.

https://github.com/intel/compute-runtime/issues/316
https://github.com/intel/compute-runtime/commit/895e9e511653
This commit is contained in:
Jan Beich 2021-10-02 11:11:42 +00:00
parent 484d5a925f
commit 6587d3a4d2
3 changed files with 4 additions and 100 deletions

View File

@ -13,11 +13,8 @@ COMMENT= OpenCL implementation for Intel HD 5000 (Gen8) or newer
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.md
ONLY_FOR_ARCHS= amd64 i386
ONLY_FOR_ARCHS= amd64
ONLY_FOR_ARCHS_REASON= Only Intel GPUs on x86 are supported
BROKEN_i386= shared/source/kernel/implicit_args.h:35:1: error: static_assert failed \
due to requirement '(sizeof(NEO::ImplicitArgs) & 31) == 0' \
"Implicit args size need to be aligned to 32"
LIB_DEPENDS= libigc.so:devel/intel-graphics-compiler@${FLAVOR} \
libigdgmm.so:multimedia/gmmlib
@ -39,10 +36,8 @@ PLIST_FILES= bin/ocloc \
lib/libocloc.so \
${NULL}
OPTIONS_DEFINE= VAAPI
OPTIONS_DEFAULT=VAAPI
OPTIONS_DEFINE_amd64= L0
OPTIONS_DEFAULT_amd64= L0
OPTIONS_DEFINE= L0 VAAPI
OPTIONS_DEFAULT=L0 VAAPI
L0_DESC= oneAPI Level Zero support
L0_BUILD_DEPENDS= level-zero>=1.0:devel/level-zero

View File

@ -2,18 +2,15 @@ Add more architecture names
CMake Error at CMakeLists.txt:164 (message):
Unsupported target processor: amd64
Unsupported target processor: i386
--- CMakeLists.txt.orig 2021-09-17 14:06:15 UTC
+++ CMakeLists.txt
@@ -154,6 +154,10 @@ if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86_64")
@@ -154,6 +154,8 @@ if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86_64")
set(NEO_TARGET_PROCESSOR "x86_64")
elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "AMD64")
set(NEO_TARGET_PROCESSOR "x86_64")
+elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "amd64")
+ set(NEO_TARGET_PROCESSOR "x86_64")
+elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "i386")
+ set(NEO_TARGET_PROCESSOR "x86_64") # pre-895e9e511653 code
elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64")
set(NEO_TARGET_PROCESSOR "aarch64")
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/third_party/sse2neon)

View File

@ -1,88 +0,0 @@
Revert BufferObject's size to size_t like before 45a0ceecfbe4
shared/source/os_interface/linux/drm_memory_manager.cpp:61:54: error: non-const
lvalue reference to type 'size_t' (aka 'unsigned int') cannot bind to a value of unrelated type 'uint64_t'
(aka 'unsigned long long')
bo->gpuAddress = acquireGpuRange(bo->size, false, rootDeviceIndex, false);
^~~~~~~~
shared/source/os_interface/linux/drm_memory_manager.h:66:38: note: passing argument
to parameter 'size' here
uint64_t acquireGpuRange(size_t &size, bool requireSpecificBitness, uint32_t rootDeviceIndex, bool requi...
^
SSE2 is not enabled by default on BSDs
core/utilities/clflush.cpp:16:5: error: '_mm_clflush' needs target feature sse2
_mm_clflush(ptr);
^
shared/source/os_interface/windows/wddm_memory_manager.cpp:785:5: error: '_mm_lfence' needs target feature sse2
_mm_lfence();
^
shared/source/os_interface/windows/wddm_memory_manager.cpp:787:5: error: '_mm_lfence' needs target feature sse2
_mm_lfence();
^
shared/source/os_interface/windows/wddm_memory_manager.cpp:789:5: error: '_mm_lfence' needs target feature sse2
_mm_lfence();
^
shared/source/os_interface/windows/wddm_memory_manager.cpp:798:5: error: '_mm_lfence' needs target feature sse2
_mm_lfence();
^
shared/source/os_interface/windows/wddm_memory_manager.cpp:800:5: error: '_mm_lfence' needs target feature sse2
_mm_lfence();
^
shared/source/os_interface/windows/wddm_memory_manager.cpp:803:5: error: '_mm_lfence' needs target feature sse2
_mm_lfence();
^
shared/source/os_interface/windows/wddm_memory_manager.cpp:805:5: error: '_mm_lfence' needs target feature sse2
_mm_lfence();
^
shared/source/os_interface/windows/wddm_memory_manager.cpp:816:5: error: '_mm_lfence' needs target feature sse2
_mm_lfence();
^
shared/source/os_interface/windows/wddm_memory_manager.cpp:818:5: error: '_mm_lfence' needs target feature sse2
_mm_lfence();
^
shared/source/os_interface/windows/wddm_memory_manager.cpp:820:5: error: '_mm_lfence' needs target feature sse2
_mm_lfence();
^
shared/source/os_interface/windows/wddm_memory_manager.cpp:822:5: error: '_mm_lfence' needs target feature sse2
_mm_lfence();
^
--- shared/source/os_interface/linux/drm_buffer_object.h.orig 2020-05-21 10:39:12 UTC
+++ shared/source/os_interface/linux/drm_buffer_object.h
@@ -55,7 +55,7 @@ class BufferObject {
std::atomic<uint32_t> refCount;
int handle; // i915 gem object handle
- uint64_t size;
+ size_t size;
bool isReused;
//Tiling
--- shared/source/os_interface/windows/wddm_memory_manager.cpp.orig 2021-07-22 17:35:36 UTC
+++ shared/source/os_interface/windows/wddm_memory_manager.cpp
@@ -31,7 +31,11 @@
#include "shared/source/os_interface/windows/wddm_residency_controller.h"
#include <algorithm>
+#ifdef __SSE2__
#include <emmintrin.h>
+#else
+#define _mm_lfence()
+#endif
namespace NEO {
--- shared/source/utilities/cpuintrinsics.cpp.orig 2020-02-28 16:16:42 UTC
+++ shared/source/utilities/cpuintrinsics.cpp
@@ -12,6 +12,9 @@
namespace NEO {
namespace CpuIntrinsics {
+#ifdef __GNUC__
+__attribute__((target("sse2")))
+#endif
void clFlush(void const *ptr) {
_mm_clflush(ptr);
}