vulkan@1.3.231.1: Add registry notes and cleanup (Fix #4218) (#4222)

* vulkan@1.3.231.1: Add registry notes and cleanup (Fix #4218)

* vulkan: Update to version 1.3.236.0

* vulkan: workaround CI error
This commit is contained in:
Locietta 2022-12-16 14:12:31 +08:00 committed by GitHub
parent 132d0d8de7
commit ab5ae2668a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 42 additions and 1 deletions

View File

@ -8,11 +8,25 @@
}, },
"notes": [ "notes": [
"Make sure you have the vulkan driver installed.", "Make sure you have the vulkan driver installed.",
"Variety of drivers of different graphic card vendors could be found at the bottom of 'https://www.khronos.org/vulkan/'" "Variety of drivers of different graphic card vendors could be found at the bottom of 'https://www.khronos.org/vulkan/'",
"",
"Allow vulkan applications to find VK layers provided by Khronos, run \"$dir\\install-vk-layers.ps1\"",
"(\"powershell \"$dir\\install-vk-layers.ps1\"\" under cmd)"
], ],
"url": "https://sdk.lunarg.com/sdk/download/1.3.236.0/windows/VulkanSDK-1.3.236.0-Installer.exe#/dl.7z", "url": "https://sdk.lunarg.com/sdk/download/1.3.236.0/windows/VulkanSDK-1.3.236.0-Installer.exe#/dl.7z",
"hash": "0b21c602ef0d62ee49c39e03b35207d136130bf110682d7cad2c620265031dcc", "hash": "0b21c602ef0d62ee49c39e03b35207d136130bf110682d7cad2c620265031dcc",
"pre_install": "Remove-Item \"$dir\\`$*\", \"$dir\\Uninstal*\" -Recurse", "pre_install": "Remove-Item \"$dir\\`$*\", \"$dir\\Uninstal*\" -Recurse",
"post_install": [
"$script_path = \"$bucketsdir\\main\\scripts\\$app\\install-vk-layers.ps1\"",
"if (Test-Path $script_path) {",
" $vulkan_bin = if ($architecture -eq '64bit') { \"$dir\\Bin\" } else { \"$dir\\Bin32\" }",
" $content = Get-Content $script_path",
" $content = $content.Replace('$vulkan_bin', \"\"\"$vulkan_bin\"\"\")",
" $content = $content.Replace('$global', $(if ($global) { '$true' } else { '$false' }))",
" $content = $content.Replace('$is_admin', $(if (is_admin) { '$true' } else { '$false' }))",
"}",
"Set-Content -Path \"$dir\\install-vk-layers.ps1\" -Value $content -Encoding UTF8"
],
"architecture": { "architecture": {
"64bit": { "64bit": {
"env_add_path": [ "env_add_path": [
@ -31,6 +45,18 @@
"VULKAN_SDK": "$dir", "VULKAN_SDK": "$dir",
"VK_SDK_PATH": "$dir" "VK_SDK_PATH": "$dir"
}, },
"pre_uninstall": [
"$reg_root = if ($global) { [Microsoft.Win32.Registry]::LocalMachine } else { [Microsoft.Win32.Registry]::CurrentUser }",
"$vk_explicit_reg_path = 'SOFTWARE\\Khronos\\Vulkan\\ExplicitLayers'",
"$bin_dir = if ($architecture -eq '64bit') { 'Bin' } else { 'Bin32' }",
"$vulkan_bin = if ($global) { \"$globaldir\\apps\\$app\\current\\$bin_dir\" } else { \"$scoopdir\\apps\\$app\\current\\$bin_dir\" }",
"$vk_layers = Get-ChildItem -Path $vulkan_bin -Filter '*.json' | ForEach-Object { $_.FullName }",
"$vk_explicit_reg = $reg_root.CreateSubKey($vk_explicit_reg_path)",
"foreach ($vk_layer in $vk_layers) {",
" $vk_explicit_reg.DeleteValue($vk_layer, $false)",
"}",
"$vk_explicit_reg.Close()"
],
"checkver": { "checkver": {
"url": "https://vulkan.lunarg.com/sdk/latest/windows.json", "url": "https://vulkan.lunarg.com/sdk/latest/windows.json",
"jsonpath": "$.windows" "jsonpath": "$.windows"

View File

@ -0,0 +1,15 @@
if ($global -and (-not $is_admin)) {
Write-Host "ERROR write registries for global installation needs admin rights!" -ForegroundColor DarkRed
exit 1
}
$reg_root = if ($global) { [Microsoft.Win32.Registry]::LocalMachine } else { [Microsoft.Win32.Registry]::CurrentUser }
$vk_explicit_reg_path = 'SOFTWARE\Khronos\Vulkan\ExplicitLayers'
$vk_explicit_reg = $reg_root.CreateSubKey($vk_explicit_reg_path)
$vk_layers = Get-ChildItem -Path $vulkan_bin -Filter '*.json' | ForEach-Object { $_.FullName }
foreach ($vk_layer in $vk_layers) {
$vk_explicit_reg.SetValue($vk_layer, 0, [Microsoft.Win32.RegistryValueKind]::DWord)
}
$vk_explicit_reg.Close()