# from the file name. They are used later to find the path to the SDK\r
# install directory for the given filename.\r
\r
-function UpdateVulkanSysFolder($dir)\r
+function UpdateVulkanSysFolder([string]$dir, [int]$writeSdkName)\r
{\r
# Push the current path on the stack and go to $dir\r
Push-Location -Path $dir\r
$buildno=$VulkanDLLList[-1].Split('@')[4]\r
$prerelease=$VulkanDLLList[-1].Split('@')[5]\r
$prebuildno=$VulkanDLLList[-1].Split('@')[6]\r
- $sdkname="VulkanSDK"+$major + "." + $minor + "." + $patch + "." + $buildno\r
+ \r
+ $sdktempname="VulkanSDK"+$major + "." + $minor + "." + $patch + "." + $buildno\r
if ($prerelease -ne "") {\r
- $sdkname=$sdkname + "." + $prerelease\r
+ $sdktempname=$sdktempname + "." + $prerelease\r
}\r
if ($prebuildno -ne "") {\r
- $sdkname=$sdkname + "." + $prebuildno\r
+ $sdktempname=$sdktempname + "." + $prebuildno\r
}\r
}\r
\r
- # Return to our previous folder\r
- Pop-Location\r
+ # Return to our previous folder\r
+ Pop-Location\r
+\r
+ # Only update the overall script-scope SDK name if we're told to\r
+ if ($writeSdkName -ne 0) {\r
+ $script:sdkname = $sdktempname\r
+ }\r
+\r
+ return\r
}\r
\r
# We only care about SYSWOW64 if we're targeting a 64-bit OS\r
if ($ossize -eq 64) {\r
# Update the SYSWOW64 Vulkan DLLS/EXEs\r
- UpdateVulkanSysFolder c:\WINDOWS\SYSWOW64\r
+ UpdateVulkanSysFolder c:\WINDOWS\SYSWOW64 0\r
}\r
\r
# Update the SYSTEM32 Vulkan DLLS/EXEs\r
-UpdateVulkanSysFolder c:\WINDOWS\SYSTEM32\r
+UpdateVulkanSysFolder c:\WINDOWS\SYSTEM32 1\r
\r
# Create an array of vulkan sdk install dirs\r
\r
$tmp=$tmp -replace "\\Uninstall.exe.*",""\r
$tmp=$tmp -replace ".*=.",""\r
$VulkanSdkDirs+=$tmp\r
- if ($regkey -eq $sdkname) {\r
+ if ($regkey -eq $script:sdkname) {\r
# Save away the sdk install dir for the the most recent vulkandll\r
$mrVulkanDllInstallDir=$tmp\r
}\r
$regval=$_\r
ForEach ($sdkdir in $VulkanSdkDirs) {\r
if ($regval -like "$sdkdir\*.json") {\r
- Remove-ItemProperty -ErrorAction Ignore -Path HKLM:\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers -name $regval\r
+ Remove-ItemProperty -ErrorAction SilentlyContinue -Path HKLM:\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers -name $regval\r
}\r
}\r
}\r
New-Item -Force -ErrorAction Ignore -Path HKLM:\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers | out-null\r
Get-ChildItem $mrVulkanDllInstallDir\Bin32 -Filter *json |\r
ForEach-Object {\r
- New-ItemProperty -Path HKLM:\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers -Name $mrVulkanDllInstallDir\Bin\$_ -PropertyType DWord -Value 0 | out-null\r
+ New-ItemProperty -Path HKLM:\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers -Name $mrVulkanDllInstallDir\Bin32\$_ -PropertyType DWord -Value 0 | out-null\r
}\r
}\r
}\r