summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Nikhil Joshi [Fri, 12 Jul 2019 10:12:54 +0000 (15:42 +0530)]
Use QueryAdapter APIs as per MS directives
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.
Minor fixes to para-virtualization support
Changes to following aspects of para-virtualization changes -
1. Revert platform[0] override when platform is NULL
Fix variable naming, array size and cleanup paths.
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 return value checks for adapterAdd.
Return boolean result from adapterAdd API
and add checks for success of this API
for better error reporting.
Free adapter names and add check for DXGI interface queries
Add adapterFree to free memory allocated to hold WinAdapter
handles.
Also, check for successful query of DXGIFactory interfaces.
Minor fixes to cleanup Windows para-virtualization changes
Fix indentation and variable name casing.
Fix adapterFree to remove null-pointer check and set it to null after
free.
Add missing header required for adapterAdd.
Add checks for malloced pointers.
Bump up OpenCL ICD Loader version
Bump up OpenCL ICD Loader version
with para-virtualization changes.
Update status based on DXGK and HKR enumearation
khrIcdOsVendorsEnumerate currently does not consider
the status returned by DXGK and HKR enumeration
and returns TRUE only if HKLM regkey enumeration
results in successful adapterAdd.
Fix the returned status to consider successful
adapterAdd from DXGK and HKR enumeration.
Also, set freed adapger pointers to NULL to avoid
potential double-free issue.
Refactor ICD loader windows header files
Add icd_windows.h to include Windows specific
types and functions.
Keep icd_windows_hkr.h and icd_windows_dxgk.h
limited to the HKR and DXGK specific information.
bashbaug [Tue, 27 Aug 2019 18:43:58 +0000 (11:43 -0700)]
added checks for high integrity for Windows secure_getenv
Craig Andrews [Tue, 30 Jul 2019 19:05:27 +0000 (15:05 -0400)]
Install to standard locations using GNUInstallDirs
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.
bashbaug [Wed, 17 Jul 2019 15:48:21 +0000 (08:48 -0700)]
increase loader rev for environment variable support
bashbaug [Wed, 17 Jul 2019 15:45:04 +0000 (08:45 -0700)]
need to include a lower-case windows.h for cross-compilation
Ben Ashbaugh [Tue, 16 Jul 2019 15:09:15 +0000 (08:09 -0700)]
initial ICD loader environment variable support (#77)
* 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
Ben Ashbaugh [Mon, 1 Jul 2019 12:53:41 +0000 (05:53 -0700)]
Windows 10 RS4 Support for the OpenCL ICD Loader w/ Build Option (#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
bashbaug [Tue, 11 Jun 2019 20:30:45 +0000 (13:30 -0700)]
add CI badges for travis-ci and appveyor
bashbaug [Tue, 7 May 2019 21:10:10 +0000 (14:10 -0700)]
basic appveyor enabling
bashbaug [Tue, 7 May 2019 21:02:42 +0000 (14:02 -0700)]
simple travis CI enabling
bashbaug [Tue, 21 May 2019 17:01:36 +0000 (10:01 -0700)]
fix README typos
bashbaug [Thu, 11 Apr 2019 16:56:36 +0000 (09:56 -0700)]
removed non-CMake build files
updated README with CMake build instructions
Morris Hafner [Wed, 8 May 2019 12:17:55 +0000 (13:17 +0100)]
Downstream MinGW fixes
* Don't include DX SDK at all on MinGW (MinGW have their own headers)
* Lower case header name for cross-compilation on Linux
Ben Ashbaugh [Tue, 7 May 2019 14:13:17 +0000 (07:13 -0700)]
Create directory tree, fix warnings, cmake improvements (#58)
* 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
Artur Harasimiuk [Tue, 7 May 2019 14:08:28 +0000 (16:08 +0200)]
Option to allow for dynamic linking with VC++ Runtime (#60)
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>
Alastair Murray [Thu, 11 Apr 2019 16:17:06 +0000 (17:17 +0100)]
Do parameter validation in clGetExtensionFunctionAddress
Also undefine the local macros as soon as possible.
Patch originally from Jeroen Ketema.
Artur Harasimiuk [Wed, 10 Apr 2019 18:10:53 +0000 (20:10 +0200)]
Statically link with VC++ Runtime (#57)
* 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>
Michael Eiler [Wed, 19 Apr 2017 05:42:46 +0000 (07:42 +0200)]
fix compilation with VS2010
cos-public [Sun, 7 Apr 2019 22:38:26 +0000 (05:08 +0630)]
Update icd_windows.c (#51)
Return TRUE from khrIcdOsVendorsEnumerate() even if RegOpenKeyExA() fails to open the key.
Khronos Group Webmaster [Sun, 7 Apr 2019 22:29:04 +0000 (18:29 -0400)]
Change header license to Apache 2.0 (#53)
bashbaug [Tue, 26 Mar 2019 15:28:42 +0000 (08:28 -0700)]
switch README from plain text to markdown
no major content updates, just minor wording fixes.
Khronos Group Webmaster [Wed, 20 Feb 2019 16:01:17 +0000 (11:01 -0500)]
Create LICENSE
Khronos Group Webmaster [Wed, 20 Feb 2019 16:01:00 +0000 (11:01 -0500)]
Delete LICENSE.txt
SilverCamel [Tue, 12 Feb 2019 15:12:08 +0000 (20:42 +0530)]
Fix bugs encountered while building with VS 2017 64bit (#39)
Kedar Patil [Sat, 26 Jan 2019 00:41:19 +0000 (06:11 +0530)]
Use PROJECT_SOURCE_DIR in CMakefile
Instead of using CMAKE_CURRENT_SOURCE_DIR. This facilitates using the
ICD loader as a subproject of another project.
mancoast [Sat, 26 Jan 2019 00:23:25 +0000 (19:23 -0500)]
Update .gitignore to ignore build directory (#42)
Kedar Patil [Tue, 6 Mar 2018 14:46:41 +0000 (20:16 +0530)]
Add option to build static library.
Also add explanatory comment on why shared library should be preferred.
bashbaug [Wed, 7 Feb 2018 22:11:13 +0000 (14:11 -0800)]
add extension function comments
As per working group discussion, most extension functions do not need to
be "ICD-aware", and hence do not need to be handled in the ICD loader
and dispatch tables.
Kévin Petit [Tue, 6 Nov 2018 17:29:44 +0000 (17:29 +0000)]
Support building on macOS (#40)
Use the the linux code in that case.
The resulting library hasn't been tested but it is already
useful as is as a library to link against to build-test
things like the CTS on macOS.
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
Khronos Group Webmaster [Wed, 10 Oct 2018 19:49:05 +0000 (15:49 -0400)]
Create CODE_OF_CONDUCT.md
Ofir Cohen [Thu, 26 Apr 2018 14:44:05 +0000 (17:44 +0300)]
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.
Lukasz Towarek [Thu, 5 Apr 2018 07:22:03 +0000 (09:22 +0200)]
Remove GL/EGL headers
Pavel Begunkov [Tue, 20 Feb 2018 14:30:35 +0000 (17:30 +0300)]
driver stub: Fix dangling & NULL ptr dereference (#27)
1. NULL pointer dereference
2. dangling pointer dereference
3. Memory leak (newly created device isn't returned to user)
4. Ignoring errors + invalid error logging
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Grzegorz Wawiorko [Thu, 10 Aug 2017 13:07:04 +0000 (15:07 +0200)]
Static analysis fixes.
Ofir Cohen [Tue, 3 Oct 2017 14:37:14 +0000 (17:37 +0300)]
Added OpenCL Universal Driver Support for Win10 RS3 (#21)
Starting from Windows 10 RS3+ Graphics Drivers are no longer allowed to
write HKLM entries, and hence the current registry key:
HKLM\SOFTWARE\Khronos\OpenCL\Vendors
Is no longer applicable to graphics drivers for registering their ICD.
Instead, graphics drivers can write to either of the 2 registry keys
below:
1) Display Adapter HKR
2) Software Components HKR
Graphics Drivers (starting from RS3) have dedicated component INF files and are
referenced via the CopyINF directive and/or (optional) "INF AddComponent directive".
Every such component, e.g. OpenCL instance (ICD), is assigned a unique device
instance ID (e.g. 0000, 0001, etc) under the "Software Component" GUID and use it to
store the path to its ICD.
Therefore we enumerate ICDs in the following places (and also in the following order):
1) Display Adapters HKRs (using the display adapter GUID)
2) Software Component HKRs (using the CM_* APIs to traverse the device tree)
3) The usual "Vendors" registry key (see above)
Corresponding ICD extension updates were made with KhronosGroup/OpenCL-Registry#30.
Laurent Morichetti [Thu, 18 May 2017 17:05:46 +0000 (10:05 -0700)]
Allow building ICD loader as a CMake subproject.
Tweaked CMakeLists.txt to make it possible to build OpenCL-ICD-Loader as a
subproject.
John Poole [Tue, 6 Jun 2017 12:58:16 +0000 (08:58 -0400)]
Update Windows DLL version to 2.2 (#19)
bashbaug [Tue, 6 Dec 2016 18:34:24 +0000 (10:34 -0800)]
Add OpenCL 2.2 API to ICD Loader.
guoyejun [Tue, 13 Sep 2016 14:52:48 +0000 (22:52 +0800)]
correct the case that properties is NULL for clCreateContextFromType (#8)
Handle properties==NULL in clCreateContextFromType
According to spec, for function clCreateContextFromType, properties can also be
NULL in which case the platform that is selected is implementation-defined,
while the current code returns CL_INVALID_PLATFORM.
Kedar Patil [Tue, 31 May 2016 15:53:56 +0000 (21:23 +0530)]
Merge pull request #1 from KhronosGroup/remove-egl-dependency
Remove dependency on EGL/KHR headers from README.
Kedar Patil [Tue, 31 May 2016 15:28:18 +0000 (20:58 +0530)]
Updating the ICD loader license.
The license text was approved by the OpenCL Working Group on May 24, 2016.
James Price [Wed, 10 Feb 2016 19:34:09 +0000 (19:34 +0000)]
Remove dependency on EGL/KHR headers from README
Kedar Patil [Thu, 12 Nov 2015 18:33:50 +0000 (00:03 +0530)]
Adding sources for OpenCL 2.1 ICD Loader.