Skip to content

Commit e3a0cf5

Browse files
authored
Improve _GPUHWIDCheck for MultiGPUs
1 parent bdfcf8d commit e3a0cf5

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

includes/_Checks.au3

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,8 @@ Func _GPUHWIDCheck($sGPU)
332332
Local $iMatch
333333
Local $iStart
334334
Local $aGPUIDs[0]
335+
336+
Local $aReturn[3] = [0, 0, False] ; Error, Extended, Return
335337

336338
If StringInStr($sGPU, ", ") Then ; Split multiple GPUs
337339
$aGPUIDs = StringSplit($sGPU, ", ", $STR_ENTIRESPLIT + $STR_NOCOUNT)
@@ -342,20 +344,25 @@ Func _GPUHWIDCheck($sGPU)
342344

343345
For $iLoop = 0 To UBound($aGPUIDs) - 1 Step 1
344346
$aGPU = StringSplit($sGPU, "&", $STR_NOCOUNT)
345-
If UBound($aGPU) < 2 Then Return False
347+
If UBound($aGPU) < 2 Then ContinueLoop
346348

347349
$aIDs = FileReadToArray(@LocalAppDataDir & "\WhyNotWin11\PCI.ids")
348-
If @error Then Return SetError(1, 0, False)
350+
If @error Then
351+
$aReturn[0] = 0
352+
$aReturn[1] = 3
353+
ExitLoop
354+
EndIf
349355

350356
$iStart = _ArraySearch($aIDs, "^" & StringReplace($aGPU[0], "PCI\VEN_", ""), 0, 0, 0, 3)
351357
$iEnd = _ArraySearch($aIDs, "^[0-9a-f]", $iStart+1, 0, 0, 3)
352358
$iMatch = _ArraySearch($aIDs, "^" & @TAB & StringLower(StringReplace($aGPU[1], "DEV_", "")), $iStart+1, $iEnd, 0, 3)
359+
If @error Then ContinueLoop
353360

354-
If $iMatch Then
355-
If _GPUNameCheck($aIDs[$iMatch]) Then Return SetError(0, 0, True)
361+
If $iMatch Then
362+
If _GPUNameCheck($aIDs[$iMatch]) Then $aReturn[2] = True
356363
EndIf
357364
Next
358-
Return SetError(0, 0, False)
365+
Return SetError($aReturn[0], $aReturn[1], $aReturn[2])
359366
EndFunc
360367

361368
Func _InternetCheck()

0 commit comments

Comments
 (0)