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 cd6217a9c57b62e80c5896e6b105167ea3f9f8b5..db25dfecbcc854548dbe0463e935980216a3b9f4 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 8844378a9fb0e520c0a4a3ee55f1f367035c4382..8639617bda91401ff65d1d4eb0b05f39efc83fea 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 a323312a8b96233b6638243ca83e264b4a1d7a94..aa55939583f8f66336558e41c8716321fac78db8 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);