The OpenCL ICD Loader project.
C Other
Switch branches/tags
Nothing to show
Clone or download
ofirc and kepatil Fix vendors enumeration on 32-bit Windows OS (#28)
When running 32-bit OpenCL applications on a 32-bit OS, we need to
use the registry keys without the "Wow" suffix. On 64-bit OSes and
32-bit applications, OTOH, we must use the Wow suffix.
Latest commit b342ff7 Apr 26, 2018


== Building ICD and ICD Test ==

The build system will build ICD Loader library (OpenCL.dll or and
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 ==

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/ > /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

== 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).