Incorporating PR refinement requests so REG_MULTI_SZ is handled in the HKR codepath...
authorJohn Alexander <john.alexander@datapath.co.uk>
Mon, 10 Feb 2020 18:34:04 +0000 (18:34 +0000)
committerBen Ashbaugh <ben.ashbaugh@intel.com>
Wed, 26 Feb 2020 15:38:08 +0000 (07:38 -0800)
loader/windows/OpenCL.rc
loader/windows/icd_windows_dxgk.c
loader/windows/icd_windows_hkr.c

index cd6217a..db25dfe 100644 (file)
@@ -20,7 +20,7 @@
 
 #define OPENCL_ICD_LOADER_VERSION_MAJOR 2
 #define OPENCL_ICD_LOADER_VERSION_MINOR 2
-#define OPENCL_ICD_LOADER_VERSION_REV   5
+#define OPENCL_ICD_LOADER_VERSION_REV   6
 
 #ifdef RC_INVOKED
 
index 8844378..8639617 100644 (file)
@@ -121,7 +121,11 @@ bool khrIcdOsVendorsEnumerateDXGK(void)
                 // Try a different value type.  Some vendors write the key as a multi-string type.
                 queryArgs.ValueType = REG_MULTI_SZ;
                 Status = D3DKMTQueryAdapterInfo(&queryAdapterInfo);
-                if (!NT_SUCCESS(Status))
+                if (NT_SUCCESS(Status))
+                {
+                   KHR_ICD_TRACE("Accepting multi-string registry key type\n");
+                }
+                else
                 {
                    // Continue trying to get as much info on each adapter as possible.
                    // It's too late to return FALSE and claim WDDM2_4 enumeration is not available here.
index a323312..aa55939 100644 (file)
@@ -131,8 +131,15 @@ static bool ReadOpenCLKey(DEVINST dnDevNode)
 
         if (REG_SZ != dwLibraryNameType)
         {
-            KHR_ICD_TRACE("Unexpected registry entry 0x%x! continuing\n", dwLibraryNameType);
-            goto out;
+            if (REG_MULTI_SZ == dwLibraryNameType)
+            {
+               KHR_ICD_TRACE("Accepting multi-string registry key type\n");
+            }
+            else
+            {
+               KHR_ICD_TRACE("Unexpected registry entry 0x%x! continuing\n", dwLibraryNameType);
+               goto out;
+            }
         }
 
         KHR_ICD_TRACE("    Path: %s\n", cszOclPath);