Windows 10 RS4 support for OpenCL ICD as per MS directive

These are set of changes required by MS for Para-Virtualization
support for Windows 10 RS4.
Pull changes in pull request
https://github.com/KhronosGroup/OpenCL-ICD-Loader/pull/33
4 files changed
tree: 661d76c4fa78058de81773b70d5a1da03e551344
  1. inc/
  2. loader/
  3. test/
  4. .gitignore
  5. build_using_cmake.bat
  6. CMakeLists.txt
  7. CODE_OF_CONDUCT.md
  8. LICENSE
  9. Makefile
  10. README.md
README.md

Building the OpenCL ICD Loader and Tests

The build system will build ICD Loader library (OpenCL.dll or libOpenCL.so), the ICD Loader Test binary (icd_loader_test), and some helper libraries for the test.

Linux

Run “make”

Windows

Run “build_using_cmake.bat”

Running ICD Test

The ICD Test can be run using ctest, which is a companion to cmake. It can also be run directly by executing icd_loader_test(.exe) executable from the bin folder.

Linux

  1. Add driver stub as an ICD echo full/path/to/libOpenCLDriverStub.so > /etc/OpenCL/vendors/test.icd

  2. Run test using ctest make test

Windows

  1. Add driver stub as an ICD by adding appropriate registry value Key for 32-bit apps: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Khronos\OpenCL\Vendors Key for 64-bit apps: HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors

    Add a REG_DWORD value: Name: c:/full/path/to/OpenCLDriverStub.dll Data: 0

    Note: The build_using_cmake.bat builds ICD test as a 32-bit binary.

  2. Run test using ctest.exe cd build ctest.exe

Cleanup

Manually remove the registry key or .icd files added for running the ICD test.

The “build” and “bin” folders are autogenerated by the build so those may be safely deleted without losing any source code (on Linux “make clobber” will delete them).