Index: lang/beignet/Makefile =================================================================== --- lang/beignet/Makefile (revision 436156) +++ lang/beignet/Makefile (working copy) @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= beignet -PORTVERSION= 1.3.0 +PORTVERSION= 1.3.1 CATEGORIES= lang MASTER_SITES= https://01.org/sites/default/files/ DISTVERSIONSUFFIX= -source @@ -10,6 +10,9 @@ 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 \ @@ -23,6 +26,7 @@ USE_XORG= sm ice x11 xext xfixes USE_GL= gl egl SHEBANG_FILES= src/git_sha1.sh backend/kernels/compile.sh +ALL_TARGET= all LLVMVER= 39 CMAKE_ARGS+= -DLLVM_CONFIG_EXECUTABLE=${LOCALBASE}/bin/llvm-config${LLVMVER} @@ -30,22 +34,33 @@ ONLY_FOR_ARCHS= i386 amd64 ONLY_FOR_ARCHS_REASON= Beignet needs a graphics driver supported by the Intel KMS driver -# 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 +OPTIONS_DEFINE= FP64 TEST +FP64_DESC= Double precision (experimental) +FP64_CMAKE_BOOL= EXPERIMENTAL_DOUBLE +TEST_ALL_TARGET= flat_address_space utest_run + +.include + +.if ${ARCH} == amd64 +PLIST_SUB+= OCL20="" +.else # ${ARCH} == i386 +PLIST_SUB+= OCL20="@comment " +.endif + 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 Index: lang/beignet/distinfo =================================================================== --- lang/beignet/distinfo (revision 436156) +++ lang/beignet/distinfo (working copy) @@ -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 Index: lang/beignet/files/patch-CMakeLists.txt =================================================================== --- lang/beignet/files/patch-CMakeLists.txt (revision 436156) +++ lang/beignet/files/patch-CMakeLists.txt (working copy) @@ -1,4 +1,4 @@ ---- CMakeLists.txt.orig 2017-01-20 10:44:56 UTC +--- CMakeLists.txt.orig 2017-03-13 07:23:01 UTC +++ CMakeLists.txt @@ -31,7 +31,6 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINA @@ -17,7 +17,7 @@ # XLib Find_Package(X11) -@@ -219,7 +218,7 @@ IF(OCLIcd_FOUND) +@@ -217,7 +216,7 @@ IF(OCLIcd_FOUND) "intel-beignet.icd.in" "${ICD_FILE_NAME}" ) @@ -25,4 +25,4 @@ + install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${ICD_FILE_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/etc/OpenCL/vendors) ELSE(OCLIcd_FOUND) MESSAGE(STATUS "Looking for OCL ICD header file - not found") - ENDIF(OCLIcd_FOUND) + MESSAGE(FATAL_ERROR "OCL ICD loader miss. If you really want to disable OCL ICD support, please run cmake with option -DOCLICD_COMPAT=0.") Index: lang/beignet/files/patch-CMake_FindLLVM.cmake =================================================================== --- lang/beignet/files/patch-CMake_FindLLVM.cmake (revision 436156) +++ lang/beignet/files/patch-CMake_FindLLVM.cmake (working copy) @@ -1,4 +1,4 @@ ---- CMake/FindLLVM.cmake.orig 2017-01-20 10:40:51 UTC +--- CMake/FindLLVM.cmake.orig 2017-02-14 09:37:24 UTC +++ CMake/FindLLVM.cmake @@ -46,21 +46,21 @@ endif (LLVM_FIND_VERSION_MAJOR AND LLVM_ Index: lang/beignet/files/patch-src_cl__device__id.c =================================================================== --- lang/beignet/files/patch-src_cl__device__id.c (revision 436156) +++ lang/beignet/files/patch-src_cl__device__id.c (working copy) @@ -1,4 +1,4 @@ ---- src/cl_device_id.c.orig 2017-01-20 10:40:51 UTC +--- src/cl_device_id.c.orig 2017-02-14 09:40:26 UTC +++ src/cl_device_id.c @@ -34,7 +34,12 @@ #include @@ -14,7 +14,7 @@ #ifndef CL_VERSION_1_2 #define CL_DEVICE_BUILT_IN_KERNELS 0x103F @@ -258,6 +263,7 @@ LOCAL cl_device_id - cl_get_gt_device(void) + cl_get_gt_device(cl_device_type device_type) { cl_device_id ret = NULL; +/* FIXME check cl_driver_get_device_id() */ @@ -21,7 +21,7 @@ const int device_id = cl_driver_get_device_id(); cl_device_id device = NULL; -@@ -743,7 +749,7 @@ kbl_gt4_break: +@@ -747,7 +753,7 @@ kbl_gt4_break: case PCI_CHIP_SANDYBRIDGE_M_GT2_PLUS: case PCI_CHIP_SANDYBRIDGE_BRIDGE_S: case PCI_CHIP_SANDYBRIDGE_S_GT: @@ -30,7 +30,7 @@ ret = NULL; break; default: -@@ -764,6 +770,7 @@ kbl_gt4_break: +@@ -768,6 +774,7 @@ kbl_gt4_break: /* Apply any driver-dependent updates to the device info */ cl_driver_update_device_info(ret); @@ -38,7 +38,7 @@ #define toMB(size) (size)&(UINT64_MAX<<20) /* Get the global_mem_size and max_mem_alloc size from * driver, system ram and hardware*/ -@@ -783,6 +790,24 @@ kbl_gt4_break: +@@ -787,6 +794,24 @@ kbl_gt4_break: ret->max_mem_alloc_size = toMB((ret->global_mem_size * 3 / 4 > maxallocmem) ? maxallocmem: ret->global_mem_size * 3 / 4); } Index: lang/beignet/files/patch-src_git__sha1.sh =================================================================== --- lang/beignet/files/patch-src_git__sha1.sh (revision 436156) +++ lang/beignet/files/patch-src_git__sha1.sh (working copy) @@ -1,4 +1,4 @@ ---- src/git_sha1.sh.orig 2017-02-28 21:01:04 UTC +--- src/git_sha1.sh.orig 2017-03-13 21:02:42 UTC +++ src/git_sha1.sh @@ -1,4 +1,4 @@ -#!/usr/local/bin/bash Index: lang/beignet/files/patch-utests_CMakeLists.txt =================================================================== --- lang/beignet/files/patch-utests_CMakeLists.txt (revision 436156) +++ lang/beignet/files/patch-utests_CMakeLists.txt (working copy) @@ -1,6 +1,6 @@ ---- utests/CMakeLists.txt.orig 2017-01-20 10:40:51 UTC +--- utests/CMakeLists.txt.orig 2017-02-14 09:37:49 UTC +++ utests/CMakeLists.txt -@@ -333,12 +333,12 @@ list (GET GBE_BIN_GENERATER -1 GBE_BIN_F +@@ -329,12 +329,12 @@ list (GET GBE_BIN_GENERATER -1 GBE_BIN_F if(GEN_PCI_ID) ADD_CUSTOM_COMMAND( OUTPUT ${kernel_bin}.bin Index: lang/beignet/files/patch-utests_image__from__buffer.cpp =================================================================== --- lang/beignet/files/patch-utests_image__from__buffer.cpp (nonexistent) +++ lang/beignet/files/patch-utests_image__from__buffer.cpp (working copy) @@ -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 + #include "utest_helper.hpp" +-#include ++#include + #include + + 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; + } Property changes on: lang/beignet/files/patch-utests_image__from__buffer.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/beignet/pkg-plist =================================================================== --- lang/beignet/pkg-plist (revision 436156) +++ lang/beignet/pkg-plist (working copy) @@ -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