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.