Cmake c extensions test#2
Closed
Kerilk wants to merge 135 commits intobashbaug:masterfrom
Closed
Conversation
no major content updates, just minor wording fixes.
Return TRUE from khrIcdOsVendorsEnumerate() even if RegOpenKeyExA() fails to open the key.
* Statically link with VC++ Runtime VC++ Runtime dynamic library may not be available in some cases. Thus, by doing static linking it makes dll independent of already installed software and can be used without problems. Change-Id: I8bb71db2f3dc48bc9ec976cdbb597d2ec812ce54 Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com> * Extend static linking of VC++ Runtime adding MinSizeRel and RelWithDebInfo targets Change-Id: I740002ca47ad4a65548b9fcad87817f730511c13 Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
Also undefine the local macros as soon as possible. Patch originally from Jeroen Ketema.
By default ICD loader will use static linking. However, you can specifiy cmake parameter USE_DYNAMIC_VCXX_RUNTIME to switch to dynamic. For example: cmake -DUSE_DYNAMIC_VCXX_RUNTIME=TRUE .. Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
) * fix make test * include CTest and wrap tests with BUILD_TESTING * move loader files to their own directory * create specific directories for Windows and Linux * cmake improvements * fix path to map file for linux build * add definition for CL_TARGET_OPENCL_VERSION * fix warnings * don't use target_link_options for cmake compatibility * remove SHARED from a few cmake files
* Don't include DX SDK at all on MinGW (MinGW have their own headers) * Lower case header name for cross-compilation on Linux
These are set of changes required by MS for Para-Virtualization support for Windows 10 RS4. Pull changes in pull request KhronosGroup#33
Update ICD loader to use QueryAdapter APIs as per MS directives for paravirtualization. Merge branch 'skudchad-ocl-wddm24' of https://github.com/BKlamik-MSFT/OpenCL-ICD-Loader
updated README with CMake build instructions
…onosGroup#78) * Windows 10 RS4 support for OpenCL ICD as per MS directive Motivation - MS is adopting DCHU complaince and for For RS4 it will be mandatory for OpenCL to load via registry keys contained only within the HKR section of the registry as writes outside of HKR will not be allowed for the INF. It is also to support ParaV feature of the OS to make it "virtualization-ready". * Update Copyright year * Fix vendors enumeration on 32-bit Windows OS * Update CMake file for detecting necessary includes for the Windows WDK * Add option to build with or without the WDK (default: with) * Documented Windows WDK dependency
Merge master branch of Khronos
* basic ICD loader env var support for OCL_ICD_VENDORS * added envvars source files * added OCL_ICD_FILENAMES support * added README section describing debug environment variables * refactored platform specific defines into icd_platform.h * disable tracing
Update ICD loader to use QueryAdapter APIs
as per MS directives for para-virtualization.
This includes changes to -
1. Order OpenCL platforms consistent with Windows adapters,
to honor user-settings for multi-adapter machines.
2. Fix OS version detection.
3. Some minor fixes including
1. Add trace prints at required places.
2. Fix build failure in getting the address of D3DKMTQueryAdapterInfo.
3. Fix early return platform enumeartion if there are no entries found for old reg key
under "HKLM\\SOFTWARE\\Khronos\\OpenCL\\Vendors" to allow add for the entries found
using DXGK interface and HKR entries.
4. Some other fixes including
1. Update README.md with WDK dependency information.
2. Move AddAdapter* call inside for which got misplaced while resolving conflicts.
3. Free WinAdapter allocations and avoid overriding NULL platform.
5. Fixes based on review comments including -
1. WinAdapter is reallocated with previous allocation freed.
However, the final allocation is not freed.
Fixed the same to free at the end of enumeration.
2. Fix header file ordering by including windows headers
inside necessary header files.
Different distributions may specify different paths; using GNUInstallDirs ensures that everything installed to the correct location for all systems. For example, amd64 Debian uses lib64 as opposed to lib, so hardcoding lib would be wrong for Debian.
Merge branch 'master' of https://github.com/KhronosGroup/OpenCL-ICD-Loader into KhronosGroup-master
Changes to following aspects of para-virtualization changes - 1. Revert platform[0] override when platform is NULL
Fix changes added as part of para_virtualization support 1. to use camelCase for variable names 2. Use sizeof(element) while calculating array size. 3. Free/unload allocations/libraries during cleanup.
* Add first prototype of cllayerinfo. * Added scheme to silence layers during loading and exit. * Added a first test of cllayerinfo. * Fix lock if no layers are found. * Improve style. * Copy layer library name as it is transient. * Add new required definitions. * Remove deprecated OPENCL_ICD_LOADER_DISABLE_OPENCLON12 CMake option. * Factor compile definitions. * Add variable to disable cllayerinfo build. * Refactor CMake test file. * Remove options for now as suggested by the working group. * Remove constants * Include share.h for mingw Co-authored-by: Ben Ashbaugh <ben.ashbaugh@intel.com> * Add cllayerinfo to install and export target. * Use CMakeDependOption. Co-authored-by: Nagy-Egri Máté Ferenc <beiktatas+github@outlook.hu> --------- Co-authored-by: Ben Ashbaugh <ben.ashbaugh@intel.com> Co-authored-by: Nagy-Egri Máté Ferenc <beiktatas+github@outlook.hu>
* Fix VERSIONINFO (KhronosGroup#155) * Fix debug print according to the review
* Refactor pkgconfig path in CI. * Update headers pkg-config path. * Fix macos missing pkgconfig.
* Try enabling the docker image for ubuntu 18.04 support. * Install gcc-9 if missing on MacOS. * Deactivate header testing. * Deactivate more testing and clang 10 in minimum. * Deactivate recent cmake in minimum.
KhronosGroup#213) This flag will be needed when we move to generated headers and declare more function prototypes by default.
* add extension API function pointer checks This PR adds checks to ensure that any function pointer in the ICD dispatch table is non-NULL before calling it. If a function pointer is NULL then CL_INVALID_VALUE is returned. This improves robustness for applications that assume they can safely call a non-NULL function pointer returned by clGetExtensionFunctionAddress or clGetExtensionFunctionAddressForPlatform. * fix a few more copyright dates
* Remove cl_icdl_private.h as it is now unneeded. * Temporary commit to test new header scheme TODO: revert when Headers are merged. * Use CL_NO_PROTOTYPES to avoid declaring clGetICDLoaderInfoOCLICD prototype extern. * Revert "Temporary commit to test new header scheme TODO: revert when Headers are merged." This reverts commit 137f0a5. * Remove CL_NO_PROTOTYPES.
* Cache CMake and Ninja archives. * Cache CMake archive on Linux CI.
* Add DEB packaging * Fix MacOS workflow * Move linux CI to presubmit and update it * Fixes for CMake < 3.15 * Fixes for CMake < 3.5 * Remove linux.yml * Update Windows CI * Migrate contents of windows.yml to presubmit.yml and delete it * Update MacOS CI * Migrate contents of macos.yml to presubmit.yml and delete it * Add format-checking script and job * Build android binaries * CMake minimum 3.16 * Added release workflow * Update workflows to match the rest of the ecosystem * Add DEB packaging * Update pkgconfig tests * Warning fixes * Added update-alternatives to the Debian source package * Removed unneeded STD in macos ci * Ignore Markdown changes in CI * fix(ci): Using actions/checkout@v4 * fix(ci): Removed VC++ v141 from Windows matrix * fix(ci): Referencing upstream Headers repo in Linux jobs * fix(ci): Using actions/cache@v4 * Removed clang-format and formatting check * Disabled macos/gcc-13 due to a problem with __API_AVAILABLE * Update docker images * Fix MSVC compiler toolset version --------- Co-authored-by: Beatriz Navidad Vilches <beatriz@streamhpc.com> Co-authored-by: Máté Ferenc Nagy-Egri <mate@streamhpc.com>
* Fix Wcast-qual warning. * Format
* Working cl_khr_icd 2.0.0. * Update CMakeLists.txt Co-authored-by: Ben Ashbaugh <ben.ashbaugh@intel.com> --------- Co-authored-by: Ben Ashbaugh <ben.ashbaugh@intel.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Test with or without C extensions.
For discussion...