Update to 1.3.1

- Enable OpenCL 2.0 on AMD64
- Add options FP64 (experimental) and TEST [1]
- Follow MESA_LLVM_VER if set, currently only 39 works for this port

PR:		217771 [1]
Submitted by:	jbeich [1]
Approved by:	swills (mentor)
Differential Revision:	https://reviews.freebsd.org/D10251
This commit is contained in:
Matthew Rezny 2017-04-07 19:30:11 +00:00
parent 5d51e9186d
commit 0cb60b6774
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=437953
4 changed files with 49 additions and 17 deletions

View File

@ -2,14 +2,17 @@
# $FreeBSD$
PORTNAME= beignet
PORTVERSION= 1.3.0
PORTVERSION= 1.3.1
DISTVERSIONSUFFIX= -source
CATEGORIES= lang
MASTER_SITES= https://01.org/sites/default/files/
DISTVERSIONSUFFIX= -source
MAINTAINER= x11@FreeBSD.org
COMMENT= OpenCL library for Intel GPUs
LICENSE= LGPL21+
LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= clang${LLVMVER}:devel/llvm${LLVMVER} \
opencl>=0:devel/opencl
LIB_DEPENDS= libOpenCL.so:devel/ocl-icd \
@ -22,30 +25,37 @@ WRKSRC= ${WRKDIR}/Beignet-${PORTVERSION}-Source
USES= cmake gmake ncurses pkgconfig shebangfix
USE_XORG= sm ice x11 xext xfixes
USE_GL= gl egl
USE_LDCONFIG= ${LOCALBASE}/lib/${PORTNAME}
SHEBANG_FILES= src/git_sha1.sh backend/kernels/compile.sh
LLVMVER= 39
ALL_TARGET= all
LLVMVER= ${MESA_LLVM_VER:U39}
CMAKE_ARGS+= -DLLVM_CONFIG_EXECUTABLE=${LOCALBASE}/bin/llvm-config${LLVMVER}
ONLY_FOR_ARCHS= i386 amd64
ONLY_FOR_ARCHS_REASON= Beignet needs a graphics driver supported by the Intel KMS driver
PLIST_SUB= OCL20=${"${ARCH:Mamd64}" != "":?"":"@comment "}
# running tests from makefile doesn't work quite yet, so comment them out for now.
#OPTIONS_DEFINE= TESTS
#TESTS_DESC= Build and run the test suite
ONLY_FOR_ARCHS= i386 amd64
ONLY_FOR_ARCHS_REASON= Beignet needs a graphics driver supported by the Intel KMS driver
OPTIONS_DEFINE= FP64 TEST
FP64_DESC= Double precision (experimental)
FP64_CMAKE_BOOL= EXPERIMENTAL_DOUBLE
TEST_ALL_TARGET= flat_address_space utest_run
post-patch:
@${REINPLACE_CMD} -e 's|llvm-dis|llvm-dis${LLVMVER}|g; \
s|clang |clang${LLVMVER} |g' \
${WRKSRC}/backend/kernels/compile.sh
#post-patch-TESTS-off:
@${REINPLACE_CMD} -e 's|ADD_SUBDIRECTORY(utests)||g' \
${WRKSRC}/CMakeLists.txt
# XXX bug 213732: compiler_fill_gl_image() [FAILED]
do-test-TEST-on:
-@(cd ${TEST_WRKSRC}/utests; . ./setenv.sh; \
./flat_address_space; ./utest_run; )
pre-install-TEST-on: do-test-TEST-on
post-install:
@${RM} -r ${STAGEDIR}${PREFIX}/include/CL
#post-install-TESTS-on:
# @cd ${WRKSRC}/utests && sh ./setenv.sh && ./utest_run
.include <bsd.port.mk>

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1488314347
SHA256 (beignet-1.3.0-source.tar.gz) = 63d98b4fe8fba3dbc0299d29fef84560625e5ac51b16b8fed453021d4afb5cd5
SIZE (beignet-1.3.0-source.tar.gz) = 1133643
TIMESTAMP = 1489436686
SHA256 (beignet-1.3.1-source.tar.gz) = 399b7bc64d674b3092683263f7c085c5592686b9d837817e77857248e5cb561f
SIZE (beignet-1.3.1-source.tar.gz) = 1136608

View File

@ -0,0 +1,20 @@
--- utests/image_from_buffer.cpp.orig 2017-03-13 21:06:07 UTC
+++ utests/image_from_buffer.cpp
@@ -1,6 +1,6 @@
#include <string.h>
#include "utest_helper.hpp"
-#include <malloc.h>
+#include <cstdlib>
#include <cstring>
static void image_from_buffer(void)
@@ -33,8 +33,7 @@ static void image_from_buffer(void)
// Setup kernel and images
size_t buffer_sz = sizeof(uint32_t) * w * h;
uint32_t* src_data;
- src_data = (uint32_t*)memalign(base_address_alignment, buffer_sz);
- if(!src_data) {
+ if(posix_memalign((void**)&src_data, base_address_alignment, buffer_sz)) {
fprintf(stderr, "run out of memory\n");
return;
}

View File

@ -1,6 +1,8 @@
etc/OpenCL/vendors/intel-beignet.icd
lib/beignet/beignet.bc
lib/beignet/beignet.pch
%%OCL20%%lib/beignet/beignet_20.bc
%%OCL20%%lib/beignet/beignet_20.pch
lib/beignet/include/ocl.h
lib/beignet/include/ocl_as.h
lib/beignet/include/ocl_async.h