Date: Wednesday, December 5, 2018 @ 18:52:54 Author: svenstaro Revision: 411573
upgpkg: arrayfire 3.6.1-6 Added: arrayfire/trunk/2365.patch Modified: arrayfire/trunk/PKGBUILD ------------+ 2365.patch | 148 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PKGBUILD | 10 ++- 2 files changed, 155 insertions(+), 3 deletions(-) Added: 2365.patch =================================================================== --- 2365.patch (rev 0) +++ 2365.patch 2018-12-05 18:52:54 UTC (rev 411573) @@ -0,0 +1,148 @@ +From b25b998ea3637948914095b57c3246f8b26c6506 Mon Sep 17 00:00:00 2001 +From: pradeep <[email protected]> +Date: Mon, 3 Dec 2018 20:21:35 +0530 +Subject: [PATCH] Changes to use glbinding 3.0.2 and Forge 1.0.3 + +- Forge 1.0.3 uses glbinding 3.0.2 +- ArrayFire's glbinding has also been bumped up to 3.0.2 +--- + CMakeModules/build_forge.cmake | 2 +- + src/backend/common/CMakeLists.txt | 3 +- + src/backend/common/graphics_common.cpp | 43 +++++++++----------------- + src/backend/common/graphics_common.hpp | 4 --- + src/backend/opencl/platform.cpp | 1 - + 5 files changed, 17 insertions(+), 36 deletions(-) + +diff --git a/CMakeModules/build_forge.cmake b/CMakeModules/build_forge.cmake +index 7ae5a165f..97ffcec5f 100644 +--- a/CMakeModules/build_forge.cmake ++++ b/CMakeModules/build_forge.cmake +@@ -7,7 +7,7 @@ + + include(ExternalProject) + +-set(FORGE_VERSION af3.6.0) ++set(FORGE_VERSION v1.0.3) + set(prefix "${ArrayFire_BINARY_DIR}/third_party/forge") + set(PX ${CMAKE_SHARED_LIBRARY_PREFIX}) + set(SX ${CMAKE_SHARED_LIBRARY_SUFFIX}) +diff --git a/src/backend/common/CMakeLists.txt b/src/backend/common/CMakeLists.txt +index 4aa0b4949..6f608d05f 100644 +--- a/src/backend/common/CMakeLists.txt ++++ b/src/backend/common/CMakeLists.txt +@@ -105,7 +105,8 @@ if(AF_WITH_GRAPHICS) + # glbindings cmake file + target_link_libraries(afcommon_interface + INTERFACE +- $<TARGET_PROPERTY:glbinding::glbinding,IMPORTED_LOCATION_RELEASE>) ++ $<TARGET_PROPERTY:glbinding::glbinding,IMPORTED_LOCATION_RELEASE> ++ ) + else() + target_link_libraries(afcommon_interface INTERFACE glbinding::glbinding) + endif() +diff --git a/src/backend/common/graphics_common.cpp b/src/backend/common/graphics_common.cpp +index 3cbc83b7a..a574bc962 100644 +--- a/src/backend/common/graphics_common.cpp ++++ b/src/backend/common/graphics_common.cpp +@@ -10,7 +10,6 @@ + #if defined(WITH_GRAPHICS) + + #include <common/graphics_common.hpp> +-#include <glbinding/Meta.h> + #include <common/err_common.hpp> + #include <backend.hpp> + #include <platform.hpp> +@@ -51,30 +50,28 @@ INSTANTIATE_GET_FG_TYPE(unsigned char , forge::u8); + INSTANTIATE_GET_FG_TYPE(unsigned short , forge::u16); + INSTANTIATE_GET_FG_TYPE(short , forge::s16); + +-gl::GLenum glErrorSkip(const char *msg, const char* file, int line) +-{ +-#ifndef NDEBUG +- gl::GLenum x = gl::glGetError(); +- if (x != GL_NO_ERROR) { +- char buf[1024]; +- sprintf(buf, "GL Error Skipped at: %s:%d Message: %s Error Code: %d \"%s\"\n", file, line, msg, (int)x, glbinding::Meta::getString(x).c_str()); +- AF_ERROR(buf, AF_ERR_INTERNAL); +- } +- return x; +-#else +- return (gl::GLenum)0; +-#endif +-} +- + gl::GLenum glErrorCheck(const char *msg, const char* file, int line) + { ++ auto getErrorString = [](gl::GLenum value) { ++ switch(value) { ++ case GLenum::GL_INVALID_ENUM: return "GL_INVALID_ENUM"; ++ case GLenum::GL_INVALID_VALUE: return "GL_INVALID_VALUE"; ++ case GLenum::GL_INVALID_OPERATION: return "GL_INVALID_OPERATION"; ++ case GLenum::GL_INVALID_FRAMEBUFFER_OPERATION: return "GL_INVALID_FRAMEBUFFER_OPERATION"; ++ case GLenum::GL_OUT_OF_MEMORY: return "GL_OUT_OF_MEMORY"; ++ case GLenum::GL_STACK_UNDERFLOW: return "GL_STACK_UNDERFLOW"; ++ case GLenum::GL_STACK_OVERFLOW: return "GL_STACK_OVERFLOW"; ++ default: return "GL_NO_ERROR"; ++ } ++ }; + // Skipped in release mode + #ifndef NDEBUG + gl::GLenum x = gl::glGetError(); + + if (x != GL_NO_ERROR) { + char buf[1024]; +- sprintf(buf, "GL Error at: %s:%d Message: %s Error Code: %d \"%s\"\n", file, line, msg, (int)x, glbinding::Meta::getString(x).c_str()); ++ sprintf(buf, "GL Error at: %s:%d Message: %s Error Code: %d \"%s\"\n", ++ file, line, msg, (int)x, getErrorString(x).c_str()); + AF_ERROR(buf, AF_ERR_INTERNAL); + } + return x; +@@ -83,18 +80,6 @@ gl::GLenum glErrorCheck(const char *msg, const char* file, int line) + #endif + } + +-gl::GLenum glForceErrorCheck(const char *msg, const char* file, int line) +-{ +- gl::GLenum x = gl::glGetError(); +- +- if (x != GL_NO_ERROR) { +- char buf[1024]; +- sprintf(buf, "GL Error at: %s:%d Message: %s Error Code: %d \"%s\"\n", file, line, msg, (int)x, glbinding::Meta::getString(x).c_str()); +- AF_ERROR(buf, AF_ERR_INTERNAL); +- } +- return x; +-} +- + size_t getTypeSize(gl::GLenum type) + { + switch(type) { +diff --git a/src/backend/common/graphics_common.hpp b/src/backend/common/graphics_common.hpp +index e895f5c90..e9e1ec43c 100644 +--- a/src/backend/common/graphics_common.hpp ++++ b/src/backend/common/graphics_common.hpp +@@ -27,13 +27,9 @@ forge::dtype getGLType(); + + // Print for OpenGL errors + // Returns 1 if an OpenGL error occurred, 0 otherwise. +-gl::GLenum glErrorSkip(const char *msg, const char* file, int line); + gl::GLenum glErrorCheck(const char *msg, const char* file, int line); +-gl::GLenum glForceErrorCheck(const char *msg, const char* file, int line); + + #define CheckGL(msg) glErrorCheck (msg, __AF_FILENAME__, __LINE__) +-#define ForceCheckGL(msg) glForceErrorCheck(msg, __AF_FILENAME__, __LINE__) +-#define CheckGLSkip(msg) glErrorSkip (msg, __AF_FILENAME__, __LINE__) + + forge::MarkerType getFGMarker(const af_marker_type af_marker); + +diff --git a/src/backend/opencl/platform.cpp b/src/backend/opencl/platform.cpp +index 226d5967c..b29145443 100644 +--- a/src/backend/opencl/platform.cpp ++++ b/src/backend/opencl/platform.cpp +@@ -29,7 +29,6 @@ + #include <err_opencl.hpp> + #include <blas.hpp> + #include <common/host_memory.hpp> +-#include <common/InteropManager.hpp> + #include <platform.hpp> + #include <common/util.hpp> + #include <version.hpp> Modified: PKGBUILD =================================================================== --- PKGBUILD 2018-12-05 18:45:20 UTC (rev 411572) +++ PKGBUILD 2018-12-05 18:52:54 UTC (rev 411573) @@ -4,7 +4,7 @@ url='https://arrayfire.com' pkgver=3.6.1 arch=('x86_64') -pkgrel=5 +pkgrel=6 license=('BSD') depends=('cblas' 'fftw' 'boost-libs' 'lapacke' 'forge' 'freeimage' 'glfw' 'glew' 'glbinding') makedepends=('cmake' 'graphviz' 'doxygen' 'opencl-headers' 'boost' 'python' 'ocl-icd' 'cuda' 'git') @@ -12,12 +12,16 @@ 'nvidia-utils: Required for using CUDA backend' 'libclc: Required for using OpenCL backend') options=('!buildflags') -source=("http://arrayfire.com/arrayfire_source/arrayfire-full-${pkgver}.tar.bz2") -sha512sums=('44f4e0e5c99764a34854e5da7c893cd956a42dd4a23a5761e63a661e23cbd0bbab7cec3fc182aa1b5255989b19b3713bde8a10aee782bd76424b6c4b025e0f36') +source=("http://arrayfire.com/arrayfire_source/arrayfire-full-${pkgver}.tar.bz2" + "2365.patch") +sha512sums=('44f4e0e5c99764a34854e5da7c893cd956a42dd4a23a5761e63a661e23cbd0bbab7cec3fc182aa1b5255989b19b3713bde8a10aee782bd76424b6c4b025e0f36' + '916c4adf46bc092e2b9657734b893a4c79b3d28b2c2116d75924123b36a73e24fbf005fcfc00a84f8e79f7c32b0121fa90b790e786b81105080bfc9f98aac0c6') prepare() { cd "${srcdir}/arrayfire-full-${pkgver}" + patch -Np1 -i "${srcdir}"/2365.patch + mkdir build }
