diff options
| author | jsmall-nvidia <jsmall@nvidia.com> | 2021-10-26 21:42:11 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-10-26 18:42:11 -0700 |
| commit | 62b1e58a72773fad43e555d7de1bfeaa3f5c6762 (patch) | |
| tree | 89968e563e5f2f38377461c4fa3a3b72469b146a | |
| parent | dcc2b854a64b3e4e890215ff21cf4b219724f524 (diff) | |
Runs all gfx unit tests through a 'test proxy' (#1981)
* #include an absolute path didn't work - because paths were taken to always be relative.
* Support for test proxy.
* Turn on testing using proxy.
* Don't pass sink into check of downstream compiler.
* Small change to kick off build.
* Remove register specification on transcendental.
* Increase poll timeout.
Small improvements to proxy.
* Disable gfx unit tests.
* Put test runner in shared library mode by default.
* Change comment. Kick off another CI test.
* Small edit to kick off builds.
* Run unit tests on proxy.
* Turn on using proxy for now.
* Enable swift shader.
* Fix typo.
Add exception support.
* Make the default spwan type SharedLibrary
Use isolation for gfx unit tests.
* Update slang-binaries.
* Fix typo.
* Report unit test output information.
| -rw-r--r-- | premake5.lua | 7 | ||||
| -rw-r--r-- | slang.sln | 915 | ||||
| -rw-r--r-- | source/core/unix/slang-unix-process-util.cpp | 4 | ||||
| -rw-r--r-- | source/slang/slang-check.cpp | 8 | ||||
| -rw-r--r-- | tests/compute/transcendental-double.slang | 2 | ||||
| -rw-r--r-- | tests/compute/transcendental.slang | 2 | ||||
| -rw-r--r-- | tools/slang-test/options.cpp | 4 | ||||
| -rw-r--r-- | tools/slang-test/options.h | 17 | ||||
| -rw-r--r-- | tools/slang-test/slang-test-main.cpp | 123 | ||||
| -rw-r--r-- | tools/test-proxy/test-proxy-main.cpp | 247 |
10 files changed, 852 insertions, 477 deletions
diff --git a/premake5.lua b/premake5.lua index f83499ce2..c8c02ff09 100644 --- a/premake5.lua +++ b/premake5.lua @@ -756,6 +756,13 @@ end links { "compiler-core", "core" } + + tool "test-proxy" + uuid "BE412850-4BB9-429A-877C-BFBC4B34186C" + includedirs { "." } + + links { "compiler-core", "core", "slang" } + -- -- `slang-generate` is a tool we use for source code generation on -- the compiler. It depends on the `core` library, so we need to @@ -1,450 +1,465 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{FD47AE19-69FD-260F-F2F1-20E65EA61D13}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang-test", "build\visual-studio\slang-test\slang-test.vcxproj", "{0C768A18-1D25-4000-9F37-DA5FE99E3B64}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gfx", "build\visual-studio\gfx\gfx.vcxproj", "{222F7498-B40C-4F3F-A704-DDEB91A4484A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gfx-util", "build\visual-studio\gfx-util\gfx-util.vcxproj", "{F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "platform", "build\visual-studio\platform\platform.vcxproj", "{3565FE5E-4FA3-11EB-AE93-0242AC130002}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang-cpp-extractor", "build\visual-studio\slang-cpp-extractor\slang-cpp-extractor.vcxproj", "{CA8A30D1-8FA9-4330-B7F7-84709246D8DC}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang-embed", "build\visual-studio\slang-embed\slang-embed.vcxproj", "{7F773DD9-EB8F-2403-B43C-B49C2014B99C}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang-generate", "build\visual-studio\slang-generate\slang-generate.vcxproj", "{66174227-8541-41FC-A6DF-4764FC66F78E}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "compiler-core", "build\visual-studio\compiler-core\compiler-core.vcxproj", "{12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core", "build\visual-studio\core\core.vcxproj", "{F9BE7957-8399-899E-0C49-E714FDDD4B65}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "examples", "examples", "{EB5FC2C6-D72D-B6CC-C0C1-26F3AC2E9231}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpu-hello-world", "build\visual-studio\cpu-hello-world\cpu-hello-world.vcxproj", "{4B47A364-37C4-96A7-6041-97BB4C1D333B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example-base", "build\visual-studio\example-base\example-base.vcxproj", "{37BED5B5-23FA-D81F-8C0C-F1167867813A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpu-printing", "build\visual-studio\gpu-printing\gpu-printing.vcxproj", "{57C81DD3-4304-213D-AC16-39349871C957}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hello-world", "build\visual-studio\hello-world\hello-world.vcxproj", "{010BE414-ED5B-CF56-16C0-BD18027062C0}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "model-viewer", "build\visual-studio\model-viewer\model-viewer.vcxproj", "{2F8724C6-1BC3-2730-84D5-3F277030D04A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ray-tracing", "build\visual-studio\ray-tracing\ray-tracing.vcxproj", "{71AC0F50-5DFD-FA91-8661-E95372118EFB}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ray-tracing-pipeline", "build\visual-studio\ray-tracing-pipeline\ray-tracing-pipeline.vcxproj", "{17BA8E32-034E-84DA-6C12-DE8E58C5BECC}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shader-object", "build\visual-studio\shader-object\shader-object.vcxproj", "{25512BFB-1138-EDF2-BA88-5310A64E6659}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shader-toy", "build\visual-studio\shader-toy\shader-toy.vcxproj", "{0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "triangle", "build\visual-studio\triangle\triangle.vcxproj", "{3BB99068-27C9-3C39-9082-A1577CB12BD2}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "generator", "generator", "{F3AB4ED5-5F37-BC99-6848-3F8ED452189A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "run-generators", "build\visual-studio\run-generators\run-generators.vcxproj", "{E145B2B8-CD13-A6BE-B6A7-16E5A2148223}" - ProjectSection(ProjectDependencies) = postProject - {CA8A30D1-8FA9-4330-B7F7-84709246D8DC} = {CA8A30D1-8FA9-4330-B7F7-84709246D8DC} - {66174227-8541-41FC-A6DF-4764FC66F78E} = {66174227-8541-41FC-A6DF-4764FC66F78E} - {7F773DD9-EB8F-2403-B43C-B49C2014B99C} = {7F773DD9-EB8F-2403-B43C-B49C2014B99C} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lz4", "build\visual-studio\lz4\lz4.vcxproj", "{E1EC8075-823E-46E5-BC38-C124CCCDF878}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniz", "build\visual-studio\miniz\miniz.vcxproj", "{E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang", "build\visual-studio\slang\slang.vcxproj", "{DB00DA62-0533-4AFD-B59F-A67D5B3A0808}" - ProjectSection(ProjectDependencies) = postProject - {E145B2B8-CD13-A6BE-B6A7-16E5A2148223} = {E145B2B8-CD13-A6BE-B6A7-16E5A2148223} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slangc", "build\visual-studio\slangc\slangc.vcxproj", "{D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test-tool", "test-tool", "{57B5AA5E-C340-1823-CC51-9B17385C7423}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gfx-unit-test-tool", "build\visual-studio\gfx-unit-test-tool\gfx-unit-test-tool.vcxproj", "{092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "render-test-tool", "build\visual-studio\render-test-tool\render-test-tool.vcxproj", "{61F7EB00-7281-4BF3-9470-7C2EA92620C3}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang-reflection-test-tool", "build\visual-studio\slang-reflection-test-tool\slang-reflection-test-tool.vcxproj", "{C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang-unit-test-tool", "build\visual-studio\slang-unit-test-tool\slang-unit-test-tool.vcxproj", "{0162864E-7651-4B5E-9105-C571105276EA}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|aarch64 = Debug|aarch64 - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|aarch64 = Release|aarch64 - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Debug|Win32.ActiveCfg = Debug|Win32 - {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Debug|Win32.Build.0 = Debug|Win32 - {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Debug|x64.ActiveCfg = Debug|x64 - {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Debug|x64.Build.0 = Debug|x64 - {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Release|aarch64.Build.0 = Release aarch64|ARM - {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Release|Win32.ActiveCfg = Release|Win32 - {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Release|Win32.Build.0 = Release|Win32 - {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Release|x64.ActiveCfg = Release|x64 - {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Release|x64.Build.0 = Release|x64 - {222F7498-B40C-4F3F-A704-DDEB91A4484A}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {222F7498-B40C-4F3F-A704-DDEB91A4484A}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {222F7498-B40C-4F3F-A704-DDEB91A4484A}.Debug|Win32.ActiveCfg = Debug|Win32 - {222F7498-B40C-4F3F-A704-DDEB91A4484A}.Debug|Win32.Build.0 = Debug|Win32 - {222F7498-B40C-4F3F-A704-DDEB91A4484A}.Debug|x64.ActiveCfg = Debug|x64 - {222F7498-B40C-4F3F-A704-DDEB91A4484A}.Debug|x64.Build.0 = Debug|x64 - {222F7498-B40C-4F3F-A704-DDEB91A4484A}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {222F7498-B40C-4F3F-A704-DDEB91A4484A}.Release|aarch64.Build.0 = Release aarch64|ARM - {222F7498-B40C-4F3F-A704-DDEB91A4484A}.Release|Win32.ActiveCfg = Release|Win32 - {222F7498-B40C-4F3F-A704-DDEB91A4484A}.Release|Win32.Build.0 = Release|Win32 - {222F7498-B40C-4F3F-A704-DDEB91A4484A}.Release|x64.ActiveCfg = Release|x64 - {222F7498-B40C-4F3F-A704-DDEB91A4484A}.Release|x64.Build.0 = Release|x64 - {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}.Debug|Win32.ActiveCfg = Debug|Win32 - {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}.Debug|Win32.Build.0 = Debug|Win32 - {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}.Debug|x64.ActiveCfg = Debug|x64 - {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}.Debug|x64.Build.0 = Debug|x64 - {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}.Release|aarch64.Build.0 = Release aarch64|ARM - {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}.Release|Win32.ActiveCfg = Release|Win32 - {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}.Release|Win32.Build.0 = Release|Win32 - {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}.Release|x64.ActiveCfg = Release|x64 - {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}.Release|x64.Build.0 = Release|x64 - {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Debug|Win32.ActiveCfg = Debug|Win32 - {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Debug|Win32.Build.0 = Debug|Win32 - {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Debug|x64.ActiveCfg = Debug|x64 - {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Debug|x64.Build.0 = Debug|x64 - {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Release|aarch64.Build.0 = Release aarch64|ARM - {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Release|Win32.ActiveCfg = Release|Win32 - {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Release|Win32.Build.0 = Release|Win32 - {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Release|x64.ActiveCfg = Release|x64 - {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Release|x64.Build.0 = Release|x64 - {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Debug|Win32.ActiveCfg = Debug|Win32 - {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Debug|Win32.Build.0 = Debug|Win32 - {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Debug|x64.ActiveCfg = Debug|x64 - {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Debug|x64.Build.0 = Debug|x64 - {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Release|aarch64.Build.0 = Release aarch64|ARM - {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Release|Win32.ActiveCfg = Release|Win32 - {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Release|Win32.Build.0 = Release|Win32 - {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Release|x64.ActiveCfg = Release|x64 - {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Release|x64.Build.0 = Release|x64 - {7F773DD9-EB8F-2403-B43C-B49C2014B99C}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {7F773DD9-EB8F-2403-B43C-B49C2014B99C}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {7F773DD9-EB8F-2403-B43C-B49C2014B99C}.Debug|Win32.ActiveCfg = Debug|Win32 - {7F773DD9-EB8F-2403-B43C-B49C2014B99C}.Debug|Win32.Build.0 = Debug|Win32 - {7F773DD9-EB8F-2403-B43C-B49C2014B99C}.Debug|x64.ActiveCfg = Debug|x64 - {7F773DD9-EB8F-2403-B43C-B49C2014B99C}.Debug|x64.Build.0 = Debug|x64 - {7F773DD9-EB8F-2403-B43C-B49C2014B99C}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {7F773DD9-EB8F-2403-B43C-B49C2014B99C}.Release|aarch64.Build.0 = Release aarch64|ARM - {7F773DD9-EB8F-2403-B43C-B49C2014B99C}.Release|Win32.ActiveCfg = Release|Win32 - {7F773DD9-EB8F-2403-B43C-B49C2014B99C}.Release|Win32.Build.0 = Release|Win32 - {7F773DD9-EB8F-2403-B43C-B49C2014B99C}.Release|x64.ActiveCfg = Release|x64 - {7F773DD9-EB8F-2403-B43C-B49C2014B99C}.Release|x64.Build.0 = Release|x64 - {66174227-8541-41FC-A6DF-4764FC66F78E}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {66174227-8541-41FC-A6DF-4764FC66F78E}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {66174227-8541-41FC-A6DF-4764FC66F78E}.Debug|Win32.ActiveCfg = Debug|Win32 - {66174227-8541-41FC-A6DF-4764FC66F78E}.Debug|Win32.Build.0 = Debug|Win32 - {66174227-8541-41FC-A6DF-4764FC66F78E}.Debug|x64.ActiveCfg = Debug|x64 - {66174227-8541-41FC-A6DF-4764FC66F78E}.Debug|x64.Build.0 = Debug|x64 - {66174227-8541-41FC-A6DF-4764FC66F78E}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {66174227-8541-41FC-A6DF-4764FC66F78E}.Release|aarch64.Build.0 = Release aarch64|ARM - {66174227-8541-41FC-A6DF-4764FC66F78E}.Release|Win32.ActiveCfg = Release|Win32 - {66174227-8541-41FC-A6DF-4764FC66F78E}.Release|Win32.Build.0 = Release|Win32 - {66174227-8541-41FC-A6DF-4764FC66F78E}.Release|x64.ActiveCfg = Release|x64 - {66174227-8541-41FC-A6DF-4764FC66F78E}.Release|x64.Build.0 = Release|x64 - {12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}.Debug|Win32.ActiveCfg = Debug|Win32 - {12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}.Debug|Win32.Build.0 = Debug|Win32 - {12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}.Debug|x64.ActiveCfg = Debug|x64 - {12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}.Debug|x64.Build.0 = Debug|x64 - {12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}.Release|aarch64.Build.0 = Release aarch64|ARM - {12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}.Release|Win32.ActiveCfg = Release|Win32 - {12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}.Release|Win32.Build.0 = Release|Win32 - {12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}.Release|x64.ActiveCfg = Release|x64 - {12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}.Release|x64.Build.0 = Release|x64 - {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Debug|Win32.ActiveCfg = Debug|Win32 - {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Debug|Win32.Build.0 = Debug|Win32 - {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Debug|x64.ActiveCfg = Debug|x64 - {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Debug|x64.Build.0 = Debug|x64 - {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Release|aarch64.Build.0 = Release aarch64|ARM - {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Release|Win32.ActiveCfg = Release|Win32 - {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Release|Win32.Build.0 = Release|Win32 - {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Release|x64.ActiveCfg = Release|x64 - {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Release|x64.Build.0 = Release|x64 - {4B47A364-37C4-96A7-6041-97BB4C1D333B}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {4B47A364-37C4-96A7-6041-97BB4C1D333B}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {4B47A364-37C4-96A7-6041-97BB4C1D333B}.Debug|Win32.ActiveCfg = Debug|Win32 - {4B47A364-37C4-96A7-6041-97BB4C1D333B}.Debug|Win32.Build.0 = Debug|Win32 - {4B47A364-37C4-96A7-6041-97BB4C1D333B}.Debug|x64.ActiveCfg = Debug|x64 - {4B47A364-37C4-96A7-6041-97BB4C1D333B}.Debug|x64.Build.0 = Debug|x64 - {4B47A364-37C4-96A7-6041-97BB4C1D333B}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {4B47A364-37C4-96A7-6041-97BB4C1D333B}.Release|aarch64.Build.0 = Release aarch64|ARM - {4B47A364-37C4-96A7-6041-97BB4C1D333B}.Release|Win32.ActiveCfg = Release|Win32 - {4B47A364-37C4-96A7-6041-97BB4C1D333B}.Release|Win32.Build.0 = Release|Win32 - {4B47A364-37C4-96A7-6041-97BB4C1D333B}.Release|x64.ActiveCfg = Release|x64 - {4B47A364-37C4-96A7-6041-97BB4C1D333B}.Release|x64.Build.0 = Release|x64 - {37BED5B5-23FA-D81F-8C0C-F1167867813A}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {37BED5B5-23FA-D81F-8C0C-F1167867813A}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {37BED5B5-23FA-D81F-8C0C-F1167867813A}.Debug|Win32.ActiveCfg = Debug|Win32 - {37BED5B5-23FA-D81F-8C0C-F1167867813A}.Debug|Win32.Build.0 = Debug|Win32 - {37BED5B5-23FA-D81F-8C0C-F1167867813A}.Debug|x64.ActiveCfg = Debug|x64 - {37BED5B5-23FA-D81F-8C0C-F1167867813A}.Debug|x64.Build.0 = Debug|x64 - {37BED5B5-23FA-D81F-8C0C-F1167867813A}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {37BED5B5-23FA-D81F-8C0C-F1167867813A}.Release|aarch64.Build.0 = Release aarch64|ARM - {37BED5B5-23FA-D81F-8C0C-F1167867813A}.Release|Win32.ActiveCfg = Release|Win32 - {37BED5B5-23FA-D81F-8C0C-F1167867813A}.Release|Win32.Build.0 = Release|Win32 - {37BED5B5-23FA-D81F-8C0C-F1167867813A}.Release|x64.ActiveCfg = Release|x64 - {37BED5B5-23FA-D81F-8C0C-F1167867813A}.Release|x64.Build.0 = Release|x64 - {57C81DD3-4304-213D-AC16-39349871C957}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {57C81DD3-4304-213D-AC16-39349871C957}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {57C81DD3-4304-213D-AC16-39349871C957}.Debug|Win32.ActiveCfg = Debug|Win32 - {57C81DD3-4304-213D-AC16-39349871C957}.Debug|Win32.Build.0 = Debug|Win32 - {57C81DD3-4304-213D-AC16-39349871C957}.Debug|x64.ActiveCfg = Debug|x64 - {57C81DD3-4304-213D-AC16-39349871C957}.Debug|x64.Build.0 = Debug|x64 - {57C81DD3-4304-213D-AC16-39349871C957}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {57C81DD3-4304-213D-AC16-39349871C957}.Release|aarch64.Build.0 = Release aarch64|ARM - {57C81DD3-4304-213D-AC16-39349871C957}.Release|Win32.ActiveCfg = Release|Win32 - {57C81DD3-4304-213D-AC16-39349871C957}.Release|Win32.Build.0 = Release|Win32 - {57C81DD3-4304-213D-AC16-39349871C957}.Release|x64.ActiveCfg = Release|x64 - {57C81DD3-4304-213D-AC16-39349871C957}.Release|x64.Build.0 = Release|x64 - {010BE414-ED5B-CF56-16C0-BD18027062C0}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {010BE414-ED5B-CF56-16C0-BD18027062C0}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {010BE414-ED5B-CF56-16C0-BD18027062C0}.Debug|Win32.ActiveCfg = Debug|Win32 - {010BE414-ED5B-CF56-16C0-BD18027062C0}.Debug|Win32.Build.0 = Debug|Win32 - {010BE414-ED5B-CF56-16C0-BD18027062C0}.Debug|x64.ActiveCfg = Debug|x64 - {010BE414-ED5B-CF56-16C0-BD18027062C0}.Debug|x64.Build.0 = Debug|x64 - {010BE414-ED5B-CF56-16C0-BD18027062C0}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {010BE414-ED5B-CF56-16C0-BD18027062C0}.Release|aarch64.Build.0 = Release aarch64|ARM - {010BE414-ED5B-CF56-16C0-BD18027062C0}.Release|Win32.ActiveCfg = Release|Win32 - {010BE414-ED5B-CF56-16C0-BD18027062C0}.Release|Win32.Build.0 = Release|Win32 - {010BE414-ED5B-CF56-16C0-BD18027062C0}.Release|x64.ActiveCfg = Release|x64 - {010BE414-ED5B-CF56-16C0-BD18027062C0}.Release|x64.Build.0 = Release|x64 - {2F8724C6-1BC3-2730-84D5-3F277030D04A}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {2F8724C6-1BC3-2730-84D5-3F277030D04A}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {2F8724C6-1BC3-2730-84D5-3F277030D04A}.Debug|Win32.ActiveCfg = Debug|Win32 - {2F8724C6-1BC3-2730-84D5-3F277030D04A}.Debug|Win32.Build.0 = Debug|Win32 - {2F8724C6-1BC3-2730-84D5-3F277030D04A}.Debug|x64.ActiveCfg = Debug|x64 - {2F8724C6-1BC3-2730-84D5-3F277030D04A}.Debug|x64.Build.0 = Debug|x64 - {2F8724C6-1BC3-2730-84D5-3F277030D04A}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {2F8724C6-1BC3-2730-84D5-3F277030D04A}.Release|aarch64.Build.0 = Release aarch64|ARM - {2F8724C6-1BC3-2730-84D5-3F277030D04A}.Release|Win32.ActiveCfg = Release|Win32 - {2F8724C6-1BC3-2730-84D5-3F277030D04A}.Release|Win32.Build.0 = Release|Win32 - {2F8724C6-1BC3-2730-84D5-3F277030D04A}.Release|x64.ActiveCfg = Release|x64 - {2F8724C6-1BC3-2730-84D5-3F277030D04A}.Release|x64.Build.0 = Release|x64 - {71AC0F50-5DFD-FA91-8661-E95372118EFB}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {71AC0F50-5DFD-FA91-8661-E95372118EFB}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {71AC0F50-5DFD-FA91-8661-E95372118EFB}.Debug|Win32.ActiveCfg = Debug|Win32 - {71AC0F50-5DFD-FA91-8661-E95372118EFB}.Debug|Win32.Build.0 = Debug|Win32 - {71AC0F50-5DFD-FA91-8661-E95372118EFB}.Debug|x64.ActiveCfg = Debug|x64 - {71AC0F50-5DFD-FA91-8661-E95372118EFB}.Debug|x64.Build.0 = Debug|x64 - {71AC0F50-5DFD-FA91-8661-E95372118EFB}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {71AC0F50-5DFD-FA91-8661-E95372118EFB}.Release|aarch64.Build.0 = Release aarch64|ARM - {71AC0F50-5DFD-FA91-8661-E95372118EFB}.Release|Win32.ActiveCfg = Release|Win32 - {71AC0F50-5DFD-FA91-8661-E95372118EFB}.Release|Win32.Build.0 = Release|Win32 - {71AC0F50-5DFD-FA91-8661-E95372118EFB}.Release|x64.ActiveCfg = Release|x64 - {71AC0F50-5DFD-FA91-8661-E95372118EFB}.Release|x64.Build.0 = Release|x64 - {17BA8E32-034E-84DA-6C12-DE8E58C5BECC}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {17BA8E32-034E-84DA-6C12-DE8E58C5BECC}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {17BA8E32-034E-84DA-6C12-DE8E58C5BECC}.Debug|Win32.ActiveCfg = Debug|Win32 - {17BA8E32-034E-84DA-6C12-DE8E58C5BECC}.Debug|Win32.Build.0 = Debug|Win32 - {17BA8E32-034E-84DA-6C12-DE8E58C5BECC}.Debug|x64.ActiveCfg = Debug|x64 - {17BA8E32-034E-84DA-6C12-DE8E58C5BECC}.Debug|x64.Build.0 = Debug|x64 - {17BA8E32-034E-84DA-6C12-DE8E58C5BECC}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {17BA8E32-034E-84DA-6C12-DE8E58C5BECC}.Release|aarch64.Build.0 = Release aarch64|ARM - {17BA8E32-034E-84DA-6C12-DE8E58C5BECC}.Release|Win32.ActiveCfg = Release|Win32 - {17BA8E32-034E-84DA-6C12-DE8E58C5BECC}.Release|Win32.Build.0 = Release|Win32 - {17BA8E32-034E-84DA-6C12-DE8E58C5BECC}.Release|x64.ActiveCfg = Release|x64 - {17BA8E32-034E-84DA-6C12-DE8E58C5BECC}.Release|x64.Build.0 = Release|x64 - {25512BFB-1138-EDF2-BA88-5310A64E6659}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {25512BFB-1138-EDF2-BA88-5310A64E6659}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {25512BFB-1138-EDF2-BA88-5310A64E6659}.Debug|Win32.ActiveCfg = Debug|Win32 - {25512BFB-1138-EDF2-BA88-5310A64E6659}.Debug|Win32.Build.0 = Debug|Win32 - {25512BFB-1138-EDF2-BA88-5310A64E6659}.Debug|x64.ActiveCfg = Debug|x64 - {25512BFB-1138-EDF2-BA88-5310A64E6659}.Debug|x64.Build.0 = Debug|x64 - {25512BFB-1138-EDF2-BA88-5310A64E6659}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {25512BFB-1138-EDF2-BA88-5310A64E6659}.Release|aarch64.Build.0 = Release aarch64|ARM - {25512BFB-1138-EDF2-BA88-5310A64E6659}.Release|Win32.ActiveCfg = Release|Win32 - {25512BFB-1138-EDF2-BA88-5310A64E6659}.Release|Win32.Build.0 = Release|Win32 - {25512BFB-1138-EDF2-BA88-5310A64E6659}.Release|x64.ActiveCfg = Release|x64 - {25512BFB-1138-EDF2-BA88-5310A64E6659}.Release|x64.Build.0 = Release|x64 - {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}.Debug|Win32.ActiveCfg = Debug|Win32 - {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}.Debug|Win32.Build.0 = Debug|Win32 - {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}.Debug|x64.ActiveCfg = Debug|x64 - {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}.Debug|x64.Build.0 = Debug|x64 - {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}.Release|aarch64.Build.0 = Release aarch64|ARM - {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}.Release|Win32.ActiveCfg = Release|Win32 - {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}.Release|Win32.Build.0 = Release|Win32 - {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}.Release|x64.ActiveCfg = Release|x64 - {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}.Release|x64.Build.0 = Release|x64 - {3BB99068-27C9-3C39-9082-A1577CB12BD2}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {3BB99068-27C9-3C39-9082-A1577CB12BD2}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {3BB99068-27C9-3C39-9082-A1577CB12BD2}.Debug|Win32.ActiveCfg = Debug|Win32 - {3BB99068-27C9-3C39-9082-A1577CB12BD2}.Debug|Win32.Build.0 = Debug|Win32 - {3BB99068-27C9-3C39-9082-A1577CB12BD2}.Debug|x64.ActiveCfg = Debug|x64 - {3BB99068-27C9-3C39-9082-A1577CB12BD2}.Debug|x64.Build.0 = Debug|x64 - {3BB99068-27C9-3C39-9082-A1577CB12BD2}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {3BB99068-27C9-3C39-9082-A1577CB12BD2}.Release|aarch64.Build.0 = Release aarch64|ARM - {3BB99068-27C9-3C39-9082-A1577CB12BD2}.Release|Win32.ActiveCfg = Release|Win32 - {3BB99068-27C9-3C39-9082-A1577CB12BD2}.Release|Win32.Build.0 = Release|Win32 - {3BB99068-27C9-3C39-9082-A1577CB12BD2}.Release|x64.ActiveCfg = Release|x64 - {3BB99068-27C9-3C39-9082-A1577CB12BD2}.Release|x64.Build.0 = Release|x64 - {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}.Debug|Win32.ActiveCfg = Debug|Win32 - {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}.Debug|Win32.Build.0 = Debug|Win32 - {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}.Debug|x64.ActiveCfg = Debug|x64 - {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}.Debug|x64.Build.0 = Debug|x64 - {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}.Release|aarch64.Build.0 = Release aarch64|ARM - {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}.Release|Win32.ActiveCfg = Release|Win32 - {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}.Release|Win32.Build.0 = Release|Win32 - {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}.Release|x64.ActiveCfg = Release|x64 - {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}.Release|x64.Build.0 = Release|x64 - {E1EC8075-823E-46E5-BC38-C124CCCDF878}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {E1EC8075-823E-46E5-BC38-C124CCCDF878}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {E1EC8075-823E-46E5-BC38-C124CCCDF878}.Debug|Win32.ActiveCfg = Debug|Win32 - {E1EC8075-823E-46E5-BC38-C124CCCDF878}.Debug|Win32.Build.0 = Debug|Win32 - {E1EC8075-823E-46E5-BC38-C124CCCDF878}.Debug|x64.ActiveCfg = Debug|x64 - {E1EC8075-823E-46E5-BC38-C124CCCDF878}.Debug|x64.Build.0 = Debug|x64 - {E1EC8075-823E-46E5-BC38-C124CCCDF878}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {E1EC8075-823E-46E5-BC38-C124CCCDF878}.Release|aarch64.Build.0 = Release aarch64|ARM - {E1EC8075-823E-46E5-BC38-C124CCCDF878}.Release|Win32.ActiveCfg = Release|Win32 - {E1EC8075-823E-46E5-BC38-C124CCCDF878}.Release|Win32.Build.0 = Release|Win32 - {E1EC8075-823E-46E5-BC38-C124CCCDF878}.Release|x64.ActiveCfg = Release|x64 - {E1EC8075-823E-46E5-BC38-C124CCCDF878}.Release|x64.Build.0 = Release|x64 - {E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}.Debug|Win32.ActiveCfg = Debug|Win32 - {E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}.Debug|Win32.Build.0 = Debug|Win32 - {E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}.Debug|x64.ActiveCfg = Debug|x64 - {E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}.Debug|x64.Build.0 = Debug|x64 - {E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}.Release|aarch64.Build.0 = Release aarch64|ARM - {E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}.Release|Win32.ActiveCfg = Release|Win32 - {E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}.Release|Win32.Build.0 = Release|Win32 - {E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}.Release|x64.ActiveCfg = Release|x64 - {E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}.Release|x64.Build.0 = Release|x64 - {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Debug|Win32.ActiveCfg = Debug|Win32 - {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Debug|Win32.Build.0 = Debug|Win32 - {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Debug|x64.ActiveCfg = Debug|x64 - {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Debug|x64.Build.0 = Debug|x64 - {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Release|aarch64.Build.0 = Release aarch64|ARM - {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Release|Win32.ActiveCfg = Release|Win32 - {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Release|Win32.Build.0 = Release|Win32 - {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Release|x64.ActiveCfg = Release|x64 - {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Release|x64.Build.0 = Release|x64 - {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Debug|Win32.ActiveCfg = Debug|Win32 - {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Debug|Win32.Build.0 = Debug|Win32 - {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Debug|x64.ActiveCfg = Debug|x64 - {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Debug|x64.Build.0 = Debug|x64 - {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Release|aarch64.Build.0 = Release aarch64|ARM - {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Release|Win32.ActiveCfg = Release|Win32 - {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Release|Win32.Build.0 = Release|Win32 - {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Release|x64.ActiveCfg = Release|x64 - {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Release|x64.Build.0 = Release|x64 - {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}.Debug|Win32.ActiveCfg = Debug|Win32 - {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}.Debug|Win32.Build.0 = Debug|Win32 - {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}.Debug|x64.ActiveCfg = Debug|x64 - {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}.Debug|x64.Build.0 = Debug|x64 - {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}.Release|aarch64.Build.0 = Release aarch64|ARM - {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}.Release|Win32.ActiveCfg = Release|Win32 - {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}.Release|Win32.Build.0 = Release|Win32 - {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}.Release|x64.ActiveCfg = Release|x64 - {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}.Release|x64.Build.0 = Release|x64 - {61F7EB00-7281-4BF3-9470-7C2EA92620C3}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {61F7EB00-7281-4BF3-9470-7C2EA92620C3}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {61F7EB00-7281-4BF3-9470-7C2EA92620C3}.Debug|Win32.ActiveCfg = Debug|Win32 - {61F7EB00-7281-4BF3-9470-7C2EA92620C3}.Debug|Win32.Build.0 = Debug|Win32 - {61F7EB00-7281-4BF3-9470-7C2EA92620C3}.Debug|x64.ActiveCfg = Debug|x64 - {61F7EB00-7281-4BF3-9470-7C2EA92620C3}.Debug|x64.Build.0 = Debug|x64 - {61F7EB00-7281-4BF3-9470-7C2EA92620C3}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {61F7EB00-7281-4BF3-9470-7C2EA92620C3}.Release|aarch64.Build.0 = Release aarch64|ARM - {61F7EB00-7281-4BF3-9470-7C2EA92620C3}.Release|Win32.ActiveCfg = Release|Win32 - {61F7EB00-7281-4BF3-9470-7C2EA92620C3}.Release|Win32.Build.0 = Release|Win32 - {61F7EB00-7281-4BF3-9470-7C2EA92620C3}.Release|x64.ActiveCfg = Release|x64 - {61F7EB00-7281-4BF3-9470-7C2EA92620C3}.Release|x64.Build.0 = Release|x64 - {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}.Debug|Win32.ActiveCfg = Debug|Win32 - {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}.Debug|Win32.Build.0 = Debug|Win32 - {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}.Debug|x64.ActiveCfg = Debug|x64 - {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}.Debug|x64.Build.0 = Debug|x64 - {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}.Release|aarch64.Build.0 = Release aarch64|ARM - {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}.Release|Win32.ActiveCfg = Release|Win32 - {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}.Release|Win32.Build.0 = Release|Win32 - {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}.Release|x64.ActiveCfg = Release|x64 - {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}.Release|x64.Build.0 = Release|x64 - {0162864E-7651-4B5E-9105-C571105276EA}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM - {0162864E-7651-4B5E-9105-C571105276EA}.Debug|aarch64.Build.0 = Debug aarch64|ARM - {0162864E-7651-4B5E-9105-C571105276EA}.Debug|Win32.ActiveCfg = Debug|Win32 - {0162864E-7651-4B5E-9105-C571105276EA}.Debug|Win32.Build.0 = Debug|Win32 - {0162864E-7651-4B5E-9105-C571105276EA}.Debug|x64.ActiveCfg = Debug|x64 - {0162864E-7651-4B5E-9105-C571105276EA}.Debug|x64.Build.0 = Debug|x64 - {0162864E-7651-4B5E-9105-C571105276EA}.Release|aarch64.ActiveCfg = Release aarch64|ARM - {0162864E-7651-4B5E-9105-C571105276EA}.Release|aarch64.Build.0 = Release aarch64|ARM - {0162864E-7651-4B5E-9105-C571105276EA}.Release|Win32.ActiveCfg = Release|Win32 - {0162864E-7651-4B5E-9105-C571105276EA}.Release|Win32.Build.0 = Release|Win32 - {0162864E-7651-4B5E-9105-C571105276EA}.Release|x64.ActiveCfg = Release|x64 - {0162864E-7651-4B5E-9105-C571105276EA}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {0C768A18-1D25-4000-9F37-DA5FE99E3B64} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13} - {222F7498-B40C-4F3F-A704-DDEB91A4484A} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13} - {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13} - {3565FE5E-4FA3-11EB-AE93-0242AC130002} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13} - {CA8A30D1-8FA9-4330-B7F7-84709246D8DC} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13} - {7F773DD9-EB8F-2403-B43C-B49C2014B99C} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13} - {66174227-8541-41FC-A6DF-4764FC66F78E} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13} - {4B47A364-37C4-96A7-6041-97BB4C1D333B} = {EB5FC2C6-D72D-B6CC-C0C1-26F3AC2E9231} - {37BED5B5-23FA-D81F-8C0C-F1167867813A} = {EB5FC2C6-D72D-B6CC-C0C1-26F3AC2E9231} - {57C81DD3-4304-213D-AC16-39349871C957} = {EB5FC2C6-D72D-B6CC-C0C1-26F3AC2E9231} - {010BE414-ED5B-CF56-16C0-BD18027062C0} = {EB5FC2C6-D72D-B6CC-C0C1-26F3AC2E9231} - {2F8724C6-1BC3-2730-84D5-3F277030D04A} = {EB5FC2C6-D72D-B6CC-C0C1-26F3AC2E9231} - {71AC0F50-5DFD-FA91-8661-E95372118EFB} = {EB5FC2C6-D72D-B6CC-C0C1-26F3AC2E9231} - {17BA8E32-034E-84DA-6C12-DE8E58C5BECC} = {EB5FC2C6-D72D-B6CC-C0C1-26F3AC2E9231} - {25512BFB-1138-EDF2-BA88-5310A64E6659} = {EB5FC2C6-D72D-B6CC-C0C1-26F3AC2E9231} - {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6} = {EB5FC2C6-D72D-B6CC-C0C1-26F3AC2E9231} - {3BB99068-27C9-3C39-9082-A1577CB12BD2} = {EB5FC2C6-D72D-B6CC-C0C1-26F3AC2E9231} - {E145B2B8-CD13-A6BE-B6A7-16E5A2148223} = {F3AB4ED5-5F37-BC99-6848-3F8ED452189A} - {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519} = {57B5AA5E-C340-1823-CC51-9B17385C7423} - {61F7EB00-7281-4BF3-9470-7C2EA92620C3} = {57B5AA5E-C340-1823-CC51-9B17385C7423} - {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F} = {57B5AA5E-C340-1823-CC51-9B17385C7423} - {0162864E-7651-4B5E-9105-C571105276EA} = {57B5AA5E-C340-1823-CC51-9B17385C7423} - EndGlobalSection -EndGlobal +
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{FD47AE19-69FD-260F-F2F1-20E65EA61D13}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang-test", "build\visual-studio\slang-test\slang-test.vcxproj", "{0C768A18-1D25-4000-9F37-DA5FE99E3B64}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gfx", "build\visual-studio\gfx\gfx.vcxproj", "{222F7498-B40C-4F3F-A704-DDEB91A4484A}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gfx-util", "build\visual-studio\gfx-util\gfx-util.vcxproj", "{F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "platform", "build\visual-studio\platform\platform.vcxproj", "{3565FE5E-4FA3-11EB-AE93-0242AC130002}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang-cpp-extractor", "build\visual-studio\slang-cpp-extractor\slang-cpp-extractor.vcxproj", "{CA8A30D1-8FA9-4330-B7F7-84709246D8DC}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang-embed", "build\visual-studio\slang-embed\slang-embed.vcxproj", "{7F773DD9-EB8F-2403-B43C-B49C2014B99C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang-generate", "build\visual-studio\slang-generate\slang-generate.vcxproj", "{66174227-8541-41FC-A6DF-4764FC66F78E}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test-proxy", "build\visual-studio\test-proxy\test-proxy.vcxproj", "{BE412850-4BB9-429A-877C-BFBC4B34186C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "compiler-core", "build\visual-studio\compiler-core\compiler-core.vcxproj", "{12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core", "build\visual-studio\core\core.vcxproj", "{F9BE7957-8399-899E-0C49-E714FDDD4B65}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "examples", "examples", "{EB5FC2C6-D72D-B6CC-C0C1-26F3AC2E9231}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpu-hello-world", "build\visual-studio\cpu-hello-world\cpu-hello-world.vcxproj", "{4B47A364-37C4-96A7-6041-97BB4C1D333B}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example-base", "build\visual-studio\example-base\example-base.vcxproj", "{37BED5B5-23FA-D81F-8C0C-F1167867813A}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpu-printing", "build\visual-studio\gpu-printing\gpu-printing.vcxproj", "{57C81DD3-4304-213D-AC16-39349871C957}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hello-world", "build\visual-studio\hello-world\hello-world.vcxproj", "{010BE414-ED5B-CF56-16C0-BD18027062C0}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "model-viewer", "build\visual-studio\model-viewer\model-viewer.vcxproj", "{2F8724C6-1BC3-2730-84D5-3F277030D04A}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ray-tracing", "build\visual-studio\ray-tracing\ray-tracing.vcxproj", "{71AC0F50-5DFD-FA91-8661-E95372118EFB}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ray-tracing-pipeline", "build\visual-studio\ray-tracing-pipeline\ray-tracing-pipeline.vcxproj", "{17BA8E32-034E-84DA-6C12-DE8E58C5BECC}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shader-object", "build\visual-studio\shader-object\shader-object.vcxproj", "{25512BFB-1138-EDF2-BA88-5310A64E6659}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shader-toy", "build\visual-studio\shader-toy\shader-toy.vcxproj", "{0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "triangle", "build\visual-studio\triangle\triangle.vcxproj", "{3BB99068-27C9-3C39-9082-A1577CB12BD2}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "generator", "generator", "{F3AB4ED5-5F37-BC99-6848-3F8ED452189A}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "run-generators", "build\visual-studio\run-generators\run-generators.vcxproj", "{E145B2B8-CD13-A6BE-B6A7-16E5A2148223}"
+ ProjectSection(ProjectDependencies) = postProject
+ {CA8A30D1-8FA9-4330-B7F7-84709246D8DC} = {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}
+ {66174227-8541-41FC-A6DF-4764FC66F78E} = {66174227-8541-41FC-A6DF-4764FC66F78E}
+ {7F773DD9-EB8F-2403-B43C-B49C2014B99C} = {7F773DD9-EB8F-2403-B43C-B49C2014B99C}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lz4", "build\visual-studio\lz4\lz4.vcxproj", "{E1EC8075-823E-46E5-BC38-C124CCCDF878}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniz", "build\visual-studio\miniz\miniz.vcxproj", "{E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang", "build\visual-studio\slang\slang.vcxproj", "{DB00DA62-0533-4AFD-B59F-A67D5B3A0808}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E145B2B8-CD13-A6BE-B6A7-16E5A2148223} = {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slangc", "build\visual-studio\slangc\slangc.vcxproj", "{D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test-tool", "test-tool", "{57B5AA5E-C340-1823-CC51-9B17385C7423}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gfx-unit-test-tool", "build\visual-studio\gfx-unit-test-tool\gfx-unit-test-tool.vcxproj", "{092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "render-test-tool", "build\visual-studio\render-test-tool\render-test-tool.vcxproj", "{61F7EB00-7281-4BF3-9470-7C2EA92620C3}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang-reflection-test-tool", "build\visual-studio\slang-reflection-test-tool\slang-reflection-test-tool.vcxproj", "{C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang-unit-test-tool", "build\visual-studio\slang-unit-test-tool\slang-unit-test-tool.vcxproj", "{0162864E-7651-4B5E-9105-C571105276EA}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|aarch64 = Debug|aarch64
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|aarch64 = Release|aarch64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Debug|Win32.Build.0 = Debug|Win32
+ {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Debug|x64.ActiveCfg = Debug|x64
+ {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Debug|x64.Build.0 = Debug|x64
+ {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Release|Win32.ActiveCfg = Release|Win32
+ {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Release|Win32.Build.0 = Release|Win32
+ {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Release|x64.ActiveCfg = Release|x64
+ {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Release|x64.Build.0 = Release|x64
+ {222F7498-B40C-4F3F-A704-DDEB91A4484A}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {222F7498-B40C-4F3F-A704-DDEB91A4484A}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {222F7498-B40C-4F3F-A704-DDEB91A4484A}.Debug|Win32.ActiveCfg = Debug|Win32
+ {222F7498-B40C-4F3F-A704-DDEB91A4484A}.Debug|Win32.Build.0 = Debug|Win32
+ {222F7498-B40C-4F3F-A704-DDEB91A4484A}.Debug|x64.ActiveCfg = Debug|x64
+ {222F7498-B40C-4F3F-A704-DDEB91A4484A}.Debug|x64.Build.0 = Debug|x64
+ {222F7498-B40C-4F3F-A704-DDEB91A4484A}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {222F7498-B40C-4F3F-A704-DDEB91A4484A}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {222F7498-B40C-4F3F-A704-DDEB91A4484A}.Release|Win32.ActiveCfg = Release|Win32
+ {222F7498-B40C-4F3F-A704-DDEB91A4484A}.Release|Win32.Build.0 = Release|Win32
+ {222F7498-B40C-4F3F-A704-DDEB91A4484A}.Release|x64.ActiveCfg = Release|x64
+ {222F7498-B40C-4F3F-A704-DDEB91A4484A}.Release|x64.Build.0 = Release|x64
+ {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}.Debug|Win32.ActiveCfg = Debug|Win32
+ {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}.Debug|Win32.Build.0 = Debug|Win32
+ {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}.Debug|x64.ActiveCfg = Debug|x64
+ {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}.Debug|x64.Build.0 = Debug|x64
+ {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}.Release|Win32.ActiveCfg = Release|Win32
+ {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}.Release|Win32.Build.0 = Release|Win32
+ {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}.Release|x64.ActiveCfg = Release|x64
+ {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}.Release|x64.Build.0 = Release|x64
+ {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Debug|Win32.Build.0 = Debug|Win32
+ {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Debug|x64.ActiveCfg = Debug|x64
+ {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Debug|x64.Build.0 = Debug|x64
+ {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Release|Win32.ActiveCfg = Release|Win32
+ {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Release|Win32.Build.0 = Release|Win32
+ {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Release|x64.ActiveCfg = Release|x64
+ {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Release|x64.Build.0 = Release|x64
+ {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Debug|Win32.ActiveCfg = Debug|Win32
+ {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Debug|Win32.Build.0 = Debug|Win32
+ {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Debug|x64.ActiveCfg = Debug|x64
+ {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Debug|x64.Build.0 = Debug|x64
+ {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Release|Win32.ActiveCfg = Release|Win32
+ {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Release|Win32.Build.0 = Release|Win32
+ {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Release|x64.ActiveCfg = Release|x64
+ {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Release|x64.Build.0 = Release|x64
+ {7F773DD9-EB8F-2403-B43C-B49C2014B99C}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {7F773DD9-EB8F-2403-B43C-B49C2014B99C}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {7F773DD9-EB8F-2403-B43C-B49C2014B99C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7F773DD9-EB8F-2403-B43C-B49C2014B99C}.Debug|Win32.Build.0 = Debug|Win32
+ {7F773DD9-EB8F-2403-B43C-B49C2014B99C}.Debug|x64.ActiveCfg = Debug|x64
+ {7F773DD9-EB8F-2403-B43C-B49C2014B99C}.Debug|x64.Build.0 = Debug|x64
+ {7F773DD9-EB8F-2403-B43C-B49C2014B99C}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {7F773DD9-EB8F-2403-B43C-B49C2014B99C}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {7F773DD9-EB8F-2403-B43C-B49C2014B99C}.Release|Win32.ActiveCfg = Release|Win32
+ {7F773DD9-EB8F-2403-B43C-B49C2014B99C}.Release|Win32.Build.0 = Release|Win32
+ {7F773DD9-EB8F-2403-B43C-B49C2014B99C}.Release|x64.ActiveCfg = Release|x64
+ {7F773DD9-EB8F-2403-B43C-B49C2014B99C}.Release|x64.Build.0 = Release|x64
+ {66174227-8541-41FC-A6DF-4764FC66F78E}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {66174227-8541-41FC-A6DF-4764FC66F78E}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {66174227-8541-41FC-A6DF-4764FC66F78E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {66174227-8541-41FC-A6DF-4764FC66F78E}.Debug|Win32.Build.0 = Debug|Win32
+ {66174227-8541-41FC-A6DF-4764FC66F78E}.Debug|x64.ActiveCfg = Debug|x64
+ {66174227-8541-41FC-A6DF-4764FC66F78E}.Debug|x64.Build.0 = Debug|x64
+ {66174227-8541-41FC-A6DF-4764FC66F78E}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {66174227-8541-41FC-A6DF-4764FC66F78E}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {66174227-8541-41FC-A6DF-4764FC66F78E}.Release|Win32.ActiveCfg = Release|Win32
+ {66174227-8541-41FC-A6DF-4764FC66F78E}.Release|Win32.Build.0 = Release|Win32
+ {66174227-8541-41FC-A6DF-4764FC66F78E}.Release|x64.ActiveCfg = Release|x64
+ {66174227-8541-41FC-A6DF-4764FC66F78E}.Release|x64.Build.0 = Release|x64
+ {BE412850-4BB9-429A-877C-BFBC4B34186C}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {BE412850-4BB9-429A-877C-BFBC4B34186C}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {BE412850-4BB9-429A-877C-BFBC4B34186C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {BE412850-4BB9-429A-877C-BFBC4B34186C}.Debug|Win32.Build.0 = Debug|Win32
+ {BE412850-4BB9-429A-877C-BFBC4B34186C}.Debug|x64.ActiveCfg = Debug|x64
+ {BE412850-4BB9-429A-877C-BFBC4B34186C}.Debug|x64.Build.0 = Debug|x64
+ {BE412850-4BB9-429A-877C-BFBC4B34186C}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {BE412850-4BB9-429A-877C-BFBC4B34186C}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {BE412850-4BB9-429A-877C-BFBC4B34186C}.Release|Win32.ActiveCfg = Release|Win32
+ {BE412850-4BB9-429A-877C-BFBC4B34186C}.Release|Win32.Build.0 = Release|Win32
+ {BE412850-4BB9-429A-877C-BFBC4B34186C}.Release|x64.ActiveCfg = Release|x64
+ {BE412850-4BB9-429A-877C-BFBC4B34186C}.Release|x64.Build.0 = Release|x64
+ {12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}.Debug|Win32.ActiveCfg = Debug|Win32
+ {12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}.Debug|Win32.Build.0 = Debug|Win32
+ {12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}.Debug|x64.ActiveCfg = Debug|x64
+ {12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}.Debug|x64.Build.0 = Debug|x64
+ {12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}.Release|Win32.ActiveCfg = Release|Win32
+ {12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}.Release|Win32.Build.0 = Release|Win32
+ {12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}.Release|x64.ActiveCfg = Release|x64
+ {12C1E89D-F5D0-41D3-8E8D-FB3F358F8126}.Release|x64.Build.0 = Release|x64
+ {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Debug|Win32.ActiveCfg = Debug|Win32
+ {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Debug|Win32.Build.0 = Debug|Win32
+ {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Debug|x64.ActiveCfg = Debug|x64
+ {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Debug|x64.Build.0 = Debug|x64
+ {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Release|Win32.ActiveCfg = Release|Win32
+ {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Release|Win32.Build.0 = Release|Win32
+ {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Release|x64.ActiveCfg = Release|x64
+ {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Release|x64.Build.0 = Release|x64
+ {4B47A364-37C4-96A7-6041-97BB4C1D333B}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {4B47A364-37C4-96A7-6041-97BB4C1D333B}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {4B47A364-37C4-96A7-6041-97BB4C1D333B}.Debug|Win32.ActiveCfg = Debug|Win32
+ {4B47A364-37C4-96A7-6041-97BB4C1D333B}.Debug|Win32.Build.0 = Debug|Win32
+ {4B47A364-37C4-96A7-6041-97BB4C1D333B}.Debug|x64.ActiveCfg = Debug|x64
+ {4B47A364-37C4-96A7-6041-97BB4C1D333B}.Debug|x64.Build.0 = Debug|x64
+ {4B47A364-37C4-96A7-6041-97BB4C1D333B}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {4B47A364-37C4-96A7-6041-97BB4C1D333B}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {4B47A364-37C4-96A7-6041-97BB4C1D333B}.Release|Win32.ActiveCfg = Release|Win32
+ {4B47A364-37C4-96A7-6041-97BB4C1D333B}.Release|Win32.Build.0 = Release|Win32
+ {4B47A364-37C4-96A7-6041-97BB4C1D333B}.Release|x64.ActiveCfg = Release|x64
+ {4B47A364-37C4-96A7-6041-97BB4C1D333B}.Release|x64.Build.0 = Release|x64
+ {37BED5B5-23FA-D81F-8C0C-F1167867813A}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {37BED5B5-23FA-D81F-8C0C-F1167867813A}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {37BED5B5-23FA-D81F-8C0C-F1167867813A}.Debug|Win32.ActiveCfg = Debug|Win32
+ {37BED5B5-23FA-D81F-8C0C-F1167867813A}.Debug|Win32.Build.0 = Debug|Win32
+ {37BED5B5-23FA-D81F-8C0C-F1167867813A}.Debug|x64.ActiveCfg = Debug|x64
+ {37BED5B5-23FA-D81F-8C0C-F1167867813A}.Debug|x64.Build.0 = Debug|x64
+ {37BED5B5-23FA-D81F-8C0C-F1167867813A}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {37BED5B5-23FA-D81F-8C0C-F1167867813A}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {37BED5B5-23FA-D81F-8C0C-F1167867813A}.Release|Win32.ActiveCfg = Release|Win32
+ {37BED5B5-23FA-D81F-8C0C-F1167867813A}.Release|Win32.Build.0 = Release|Win32
+ {37BED5B5-23FA-D81F-8C0C-F1167867813A}.Release|x64.ActiveCfg = Release|x64
+ {37BED5B5-23FA-D81F-8C0C-F1167867813A}.Release|x64.Build.0 = Release|x64
+ {57C81DD3-4304-213D-AC16-39349871C957}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {57C81DD3-4304-213D-AC16-39349871C957}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {57C81DD3-4304-213D-AC16-39349871C957}.Debug|Win32.ActiveCfg = Debug|Win32
+ {57C81DD3-4304-213D-AC16-39349871C957}.Debug|Win32.Build.0 = Debug|Win32
+ {57C81DD3-4304-213D-AC16-39349871C957}.Debug|x64.ActiveCfg = Debug|x64
+ {57C81DD3-4304-213D-AC16-39349871C957}.Debug|x64.Build.0 = Debug|x64
+ {57C81DD3-4304-213D-AC16-39349871C957}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {57C81DD3-4304-213D-AC16-39349871C957}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {57C81DD3-4304-213D-AC16-39349871C957}.Release|Win32.ActiveCfg = Release|Win32
+ {57C81DD3-4304-213D-AC16-39349871C957}.Release|Win32.Build.0 = Release|Win32
+ {57C81DD3-4304-213D-AC16-39349871C957}.Release|x64.ActiveCfg = Release|x64
+ {57C81DD3-4304-213D-AC16-39349871C957}.Release|x64.Build.0 = Release|x64
+ {010BE414-ED5B-CF56-16C0-BD18027062C0}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {010BE414-ED5B-CF56-16C0-BD18027062C0}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {010BE414-ED5B-CF56-16C0-BD18027062C0}.Debug|Win32.ActiveCfg = Debug|Win32
+ {010BE414-ED5B-CF56-16C0-BD18027062C0}.Debug|Win32.Build.0 = Debug|Win32
+ {010BE414-ED5B-CF56-16C0-BD18027062C0}.Debug|x64.ActiveCfg = Debug|x64
+ {010BE414-ED5B-CF56-16C0-BD18027062C0}.Debug|x64.Build.0 = Debug|x64
+ {010BE414-ED5B-CF56-16C0-BD18027062C0}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {010BE414-ED5B-CF56-16C0-BD18027062C0}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {010BE414-ED5B-CF56-16C0-BD18027062C0}.Release|Win32.ActiveCfg = Release|Win32
+ {010BE414-ED5B-CF56-16C0-BD18027062C0}.Release|Win32.Build.0 = Release|Win32
+ {010BE414-ED5B-CF56-16C0-BD18027062C0}.Release|x64.ActiveCfg = Release|x64
+ {010BE414-ED5B-CF56-16C0-BD18027062C0}.Release|x64.Build.0 = Release|x64
+ {2F8724C6-1BC3-2730-84D5-3F277030D04A}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {2F8724C6-1BC3-2730-84D5-3F277030D04A}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {2F8724C6-1BC3-2730-84D5-3F277030D04A}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2F8724C6-1BC3-2730-84D5-3F277030D04A}.Debug|Win32.Build.0 = Debug|Win32
+ {2F8724C6-1BC3-2730-84D5-3F277030D04A}.Debug|x64.ActiveCfg = Debug|x64
+ {2F8724C6-1BC3-2730-84D5-3F277030D04A}.Debug|x64.Build.0 = Debug|x64
+ {2F8724C6-1BC3-2730-84D5-3F277030D04A}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {2F8724C6-1BC3-2730-84D5-3F277030D04A}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {2F8724C6-1BC3-2730-84D5-3F277030D04A}.Release|Win32.ActiveCfg = Release|Win32
+ {2F8724C6-1BC3-2730-84D5-3F277030D04A}.Release|Win32.Build.0 = Release|Win32
+ {2F8724C6-1BC3-2730-84D5-3F277030D04A}.Release|x64.ActiveCfg = Release|x64
+ {2F8724C6-1BC3-2730-84D5-3F277030D04A}.Release|x64.Build.0 = Release|x64
+ {71AC0F50-5DFD-FA91-8661-E95372118EFB}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {71AC0F50-5DFD-FA91-8661-E95372118EFB}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {71AC0F50-5DFD-FA91-8661-E95372118EFB}.Debug|Win32.ActiveCfg = Debug|Win32
+ {71AC0F50-5DFD-FA91-8661-E95372118EFB}.Debug|Win32.Build.0 = Debug|Win32
+ {71AC0F50-5DFD-FA91-8661-E95372118EFB}.Debug|x64.ActiveCfg = Debug|x64
+ {71AC0F50-5DFD-FA91-8661-E95372118EFB}.Debug|x64.Build.0 = Debug|x64
+ {71AC0F50-5DFD-FA91-8661-E95372118EFB}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {71AC0F50-5DFD-FA91-8661-E95372118EFB}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {71AC0F50-5DFD-FA91-8661-E95372118EFB}.Release|Win32.ActiveCfg = Release|Win32
+ {71AC0F50-5DFD-FA91-8661-E95372118EFB}.Release|Win32.Build.0 = Release|Win32
+ {71AC0F50-5DFD-FA91-8661-E95372118EFB}.Release|x64.ActiveCfg = Release|x64
+ {71AC0F50-5DFD-FA91-8661-E95372118EFB}.Release|x64.Build.0 = Release|x64
+ {17BA8E32-034E-84DA-6C12-DE8E58C5BECC}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {17BA8E32-034E-84DA-6C12-DE8E58C5BECC}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {17BA8E32-034E-84DA-6C12-DE8E58C5BECC}.Debug|Win32.ActiveCfg = Debug|Win32
+ {17BA8E32-034E-84DA-6C12-DE8E58C5BECC}.Debug|Win32.Build.0 = Debug|Win32
+ {17BA8E32-034E-84DA-6C12-DE8E58C5BECC}.Debug|x64.ActiveCfg = Debug|x64
+ {17BA8E32-034E-84DA-6C12-DE8E58C5BECC}.Debug|x64.Build.0 = Debug|x64
+ {17BA8E32-034E-84DA-6C12-DE8E58C5BECC}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {17BA8E32-034E-84DA-6C12-DE8E58C5BECC}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {17BA8E32-034E-84DA-6C12-DE8E58C5BECC}.Release|Win32.ActiveCfg = Release|Win32
+ {17BA8E32-034E-84DA-6C12-DE8E58C5BECC}.Release|Win32.Build.0 = Release|Win32
+ {17BA8E32-034E-84DA-6C12-DE8E58C5BECC}.Release|x64.ActiveCfg = Release|x64
+ {17BA8E32-034E-84DA-6C12-DE8E58C5BECC}.Release|x64.Build.0 = Release|x64
+ {25512BFB-1138-EDF2-BA88-5310A64E6659}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {25512BFB-1138-EDF2-BA88-5310A64E6659}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {25512BFB-1138-EDF2-BA88-5310A64E6659}.Debug|Win32.ActiveCfg = Debug|Win32
+ {25512BFB-1138-EDF2-BA88-5310A64E6659}.Debug|Win32.Build.0 = Debug|Win32
+ {25512BFB-1138-EDF2-BA88-5310A64E6659}.Debug|x64.ActiveCfg = Debug|x64
+ {25512BFB-1138-EDF2-BA88-5310A64E6659}.Debug|x64.Build.0 = Debug|x64
+ {25512BFB-1138-EDF2-BA88-5310A64E6659}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {25512BFB-1138-EDF2-BA88-5310A64E6659}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {25512BFB-1138-EDF2-BA88-5310A64E6659}.Release|Win32.ActiveCfg = Release|Win32
+ {25512BFB-1138-EDF2-BA88-5310A64E6659}.Release|Win32.Build.0 = Release|Win32
+ {25512BFB-1138-EDF2-BA88-5310A64E6659}.Release|x64.ActiveCfg = Release|x64
+ {25512BFB-1138-EDF2-BA88-5310A64E6659}.Release|x64.Build.0 = Release|x64
+ {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}.Debug|Win32.Build.0 = Debug|Win32
+ {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}.Debug|x64.ActiveCfg = Debug|x64
+ {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}.Debug|x64.Build.0 = Debug|x64
+ {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}.Release|Win32.ActiveCfg = Release|Win32
+ {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}.Release|Win32.Build.0 = Release|Win32
+ {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}.Release|x64.ActiveCfg = Release|x64
+ {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6}.Release|x64.Build.0 = Release|x64
+ {3BB99068-27C9-3C39-9082-A1577CB12BD2}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {3BB99068-27C9-3C39-9082-A1577CB12BD2}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {3BB99068-27C9-3C39-9082-A1577CB12BD2}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3BB99068-27C9-3C39-9082-A1577CB12BD2}.Debug|Win32.Build.0 = Debug|Win32
+ {3BB99068-27C9-3C39-9082-A1577CB12BD2}.Debug|x64.ActiveCfg = Debug|x64
+ {3BB99068-27C9-3C39-9082-A1577CB12BD2}.Debug|x64.Build.0 = Debug|x64
+ {3BB99068-27C9-3C39-9082-A1577CB12BD2}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {3BB99068-27C9-3C39-9082-A1577CB12BD2}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {3BB99068-27C9-3C39-9082-A1577CB12BD2}.Release|Win32.ActiveCfg = Release|Win32
+ {3BB99068-27C9-3C39-9082-A1577CB12BD2}.Release|Win32.Build.0 = Release|Win32
+ {3BB99068-27C9-3C39-9082-A1577CB12BD2}.Release|x64.ActiveCfg = Release|x64
+ {3BB99068-27C9-3C39-9082-A1577CB12BD2}.Release|x64.Build.0 = Release|x64
+ {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}.Debug|Win32.Build.0 = Debug|Win32
+ {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}.Debug|x64.ActiveCfg = Debug|x64
+ {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}.Debug|x64.Build.0 = Debug|x64
+ {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}.Release|Win32.ActiveCfg = Release|Win32
+ {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}.Release|Win32.Build.0 = Release|Win32
+ {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}.Release|x64.ActiveCfg = Release|x64
+ {E145B2B8-CD13-A6BE-B6A7-16E5A2148223}.Release|x64.Build.0 = Release|x64
+ {E1EC8075-823E-46E5-BC38-C124CCCDF878}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {E1EC8075-823E-46E5-BC38-C124CCCDF878}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {E1EC8075-823E-46E5-BC38-C124CCCDF878}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E1EC8075-823E-46E5-BC38-C124CCCDF878}.Debug|Win32.Build.0 = Debug|Win32
+ {E1EC8075-823E-46E5-BC38-C124CCCDF878}.Debug|x64.ActiveCfg = Debug|x64
+ {E1EC8075-823E-46E5-BC38-C124CCCDF878}.Debug|x64.Build.0 = Debug|x64
+ {E1EC8075-823E-46E5-BC38-C124CCCDF878}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {E1EC8075-823E-46E5-BC38-C124CCCDF878}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {E1EC8075-823E-46E5-BC38-C124CCCDF878}.Release|Win32.ActiveCfg = Release|Win32
+ {E1EC8075-823E-46E5-BC38-C124CCCDF878}.Release|Win32.Build.0 = Release|Win32
+ {E1EC8075-823E-46E5-BC38-C124CCCDF878}.Release|x64.ActiveCfg = Release|x64
+ {E1EC8075-823E-46E5-BC38-C124CCCDF878}.Release|x64.Build.0 = Release|x64
+ {E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}.Debug|Win32.Build.0 = Debug|Win32
+ {E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}.Debug|x64.ActiveCfg = Debug|x64
+ {E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}.Debug|x64.Build.0 = Debug|x64
+ {E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}.Release|Win32.ActiveCfg = Release|Win32
+ {E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}.Release|Win32.Build.0 = Release|Win32
+ {E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}.Release|x64.ActiveCfg = Release|x64
+ {E76ACB11-4A12-4F0A-BE1E-CE0B8836EB7F}.Release|x64.Build.0 = Release|x64
+ {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Debug|Win32.ActiveCfg = Debug|Win32
+ {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Debug|Win32.Build.0 = Debug|Win32
+ {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Debug|x64.ActiveCfg = Debug|x64
+ {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Debug|x64.Build.0 = Debug|x64
+ {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Release|Win32.ActiveCfg = Release|Win32
+ {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Release|Win32.Build.0 = Release|Win32
+ {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Release|x64.ActiveCfg = Release|x64
+ {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Release|x64.Build.0 = Release|x64
+ {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Debug|Win32.ActiveCfg = Debug|Win32
+ {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Debug|Win32.Build.0 = Debug|Win32
+ {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Debug|x64.ActiveCfg = Debug|x64
+ {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Debug|x64.Build.0 = Debug|x64
+ {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Release|Win32.ActiveCfg = Release|Win32
+ {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Release|Win32.Build.0 = Release|Win32
+ {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Release|x64.ActiveCfg = Release|x64
+ {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Release|x64.Build.0 = Release|x64
+ {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}.Debug|Win32.ActiveCfg = Debug|Win32
+ {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}.Debug|Win32.Build.0 = Debug|Win32
+ {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}.Debug|x64.ActiveCfg = Debug|x64
+ {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}.Debug|x64.Build.0 = Debug|x64
+ {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}.Release|Win32.ActiveCfg = Release|Win32
+ {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}.Release|Win32.Build.0 = Release|Win32
+ {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}.Release|x64.ActiveCfg = Release|x64
+ {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519}.Release|x64.Build.0 = Release|x64
+ {61F7EB00-7281-4BF3-9470-7C2EA92620C3}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {61F7EB00-7281-4BF3-9470-7C2EA92620C3}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {61F7EB00-7281-4BF3-9470-7C2EA92620C3}.Debug|Win32.ActiveCfg = Debug|Win32
+ {61F7EB00-7281-4BF3-9470-7C2EA92620C3}.Debug|Win32.Build.0 = Debug|Win32
+ {61F7EB00-7281-4BF3-9470-7C2EA92620C3}.Debug|x64.ActiveCfg = Debug|x64
+ {61F7EB00-7281-4BF3-9470-7C2EA92620C3}.Debug|x64.Build.0 = Debug|x64
+ {61F7EB00-7281-4BF3-9470-7C2EA92620C3}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {61F7EB00-7281-4BF3-9470-7C2EA92620C3}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {61F7EB00-7281-4BF3-9470-7C2EA92620C3}.Release|Win32.ActiveCfg = Release|Win32
+ {61F7EB00-7281-4BF3-9470-7C2EA92620C3}.Release|Win32.Build.0 = Release|Win32
+ {61F7EB00-7281-4BF3-9470-7C2EA92620C3}.Release|x64.ActiveCfg = Release|x64
+ {61F7EB00-7281-4BF3-9470-7C2EA92620C3}.Release|x64.Build.0 = Release|x64
+ {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}.Debug|Win32.Build.0 = Debug|Win32
+ {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}.Debug|x64.ActiveCfg = Debug|x64
+ {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}.Debug|x64.Build.0 = Debug|x64
+ {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}.Release|Win32.ActiveCfg = Release|Win32
+ {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}.Release|Win32.Build.0 = Release|Win32
+ {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}.Release|x64.ActiveCfg = Release|x64
+ {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F}.Release|x64.Build.0 = Release|x64
+ {0162864E-7651-4B5E-9105-C571105276EA}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {0162864E-7651-4B5E-9105-C571105276EA}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {0162864E-7651-4B5E-9105-C571105276EA}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0162864E-7651-4B5E-9105-C571105276EA}.Debug|Win32.Build.0 = Debug|Win32
+ {0162864E-7651-4B5E-9105-C571105276EA}.Debug|x64.ActiveCfg = Debug|x64
+ {0162864E-7651-4B5E-9105-C571105276EA}.Debug|x64.Build.0 = Debug|x64
+ {0162864E-7651-4B5E-9105-C571105276EA}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {0162864E-7651-4B5E-9105-C571105276EA}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {0162864E-7651-4B5E-9105-C571105276EA}.Release|Win32.ActiveCfg = Release|Win32
+ {0162864E-7651-4B5E-9105-C571105276EA}.Release|Win32.Build.0 = Release|Win32
+ {0162864E-7651-4B5E-9105-C571105276EA}.Release|x64.ActiveCfg = Release|x64
+ {0162864E-7651-4B5E-9105-C571105276EA}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {0C768A18-1D25-4000-9F37-DA5FE99E3B64} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13}
+ {222F7498-B40C-4F3F-A704-DDEB91A4484A} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13}
+ {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13}
+ {3565FE5E-4FA3-11EB-AE93-0242AC130002} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13}
+ {CA8A30D1-8FA9-4330-B7F7-84709246D8DC} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13}
+ {7F773DD9-EB8F-2403-B43C-B49C2014B99C} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13}
+ {66174227-8541-41FC-A6DF-4764FC66F78E} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13}
+ {BE412850-4BB9-429A-877C-BFBC4B34186C} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13}
+ {4B47A364-37C4-96A7-6041-97BB4C1D333B} = {EB5FC2C6-D72D-B6CC-C0C1-26F3AC2E9231}
+ {37BED5B5-23FA-D81F-8C0C-F1167867813A} = {EB5FC2C6-D72D-B6CC-C0C1-26F3AC2E9231}
+ {57C81DD3-4304-213D-AC16-39349871C957} = {EB5FC2C6-D72D-B6CC-C0C1-26F3AC2E9231}
+ {010BE414-ED5B-CF56-16C0-BD18027062C0} = {EB5FC2C6-D72D-B6CC-C0C1-26F3AC2E9231}
+ {2F8724C6-1BC3-2730-84D5-3F277030D04A} = {EB5FC2C6-D72D-B6CC-C0C1-26F3AC2E9231}
+ {71AC0F50-5DFD-FA91-8661-E95372118EFB} = {EB5FC2C6-D72D-B6CC-C0C1-26F3AC2E9231}
+ {17BA8E32-034E-84DA-6C12-DE8E58C5BECC} = {EB5FC2C6-D72D-B6CC-C0C1-26F3AC2E9231}
+ {25512BFB-1138-EDF2-BA88-5310A64E6659} = {EB5FC2C6-D72D-B6CC-C0C1-26F3AC2E9231}
+ {0FC5DE93-FBEA-A8FA-E430-2EC6D0F5CDC6} = {EB5FC2C6-D72D-B6CC-C0C1-26F3AC2E9231}
+ {3BB99068-27C9-3C39-9082-A1577CB12BD2} = {EB5FC2C6-D72D-B6CC-C0C1-26F3AC2E9231}
+ {E145B2B8-CD13-A6BE-B6A7-16E5A2148223} = {F3AB4ED5-5F37-BC99-6848-3F8ED452189A}
+ {092DAB9F-1DA5-4538-ADD7-1A8D1DBFD519} = {57B5AA5E-C340-1823-CC51-9B17385C7423}
+ {61F7EB00-7281-4BF3-9470-7C2EA92620C3} = {57B5AA5E-C340-1823-CC51-9B17385C7423}
+ {C5ACCA6E-C04D-4B36-8516-3752B3C13C2F} = {57B5AA5E-C340-1823-CC51-9B17385C7423}
+ {0162864E-7651-4B5E-9105-C571105276EA} = {57B5AA5E-C340-1823-CC51-9B17385C7423}
+ EndGlobalSection
+EndGlobal
diff --git a/source/core/unix/slang-unix-process-util.cpp b/source/core/unix/slang-unix-process-util.cpp index 24107fab3..af49eec37 100644 --- a/source/core/unix/slang-unix-process-util.cpp +++ b/source/core/unix/slang-unix-process-util.cpp @@ -146,9 +146,9 @@ namespace Slang { return SLANG_FAIL; } - // Set a timeout of twenty seconds; + // Set a timeout of 100 seconds; // we really shouldn't wait too long... - int pollTimeout = 20000; + int pollTimeout = 100000; int pollResult = poll(pollInfos, pollInfoCount, pollTimeout); if (pollResult <= 0) { diff --git a/source/slang/slang-check.cpp b/source/slang/slang-check.cpp index 74e30cf8d..e52baaa84 100644 --- a/source/slang/slang-check.cpp +++ b/source/slang/slang-check.cpp @@ -93,10 +93,10 @@ namespace Slang if (type == PassThroughMode::GenericCCpp) { // try testing for availability on all C/C++ compilers - getOrLoadDownstreamCompiler(PassThroughMode::Clang, sink); - getOrLoadDownstreamCompiler(PassThroughMode::Gcc, sink); - getOrLoadDownstreamCompiler(PassThroughMode::VisualStudio, sink); - getOrLoadDownstreamCompiler(PassThroughMode::LLVM, sink); + getOrLoadDownstreamCompiler(PassThroughMode::Clang, nullptr); + getOrLoadDownstreamCompiler(PassThroughMode::Gcc, nullptr); + getOrLoadDownstreamCompiler(PassThroughMode::VisualStudio, nullptr); + getOrLoadDownstreamCompiler(PassThroughMode::LLVM, nullptr); } // Mark that we have tried to load it diff --git a/tests/compute/transcendental-double.slang b/tests/compute/transcendental-double.slang index 19ea417d8..4e84ea4ef 100644 --- a/tests/compute/transcendental-double.slang +++ b/tests/compute/transcendental-double.slang @@ -8,7 +8,7 @@ //DISABLE_TEST(compute,vulkan):COMPARE_COMPUTE:-vk -output-using-type -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0], stride=4):out,name=outputBuffer -RWStructuredBuffer<float> outputBuffer : register(u0); +RWStructuredBuffer<float> outputBuffer; float quantize(double value) { diff --git a/tests/compute/transcendental.slang b/tests/compute/transcendental.slang index cf8548939..9281435d3 100644 --- a/tests/compute/transcendental.slang +++ b/tests/compute/transcendental.slang @@ -4,7 +4,7 @@ //TEST(compute,vulkan):COMPARE_COMPUTE:-vk -output-using-type -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0], stride=4):out,name=outputBuffer -RWStructuredBuffer<float> outputBuffer : register(u0); +RWStructuredBuffer<float> outputBuffer; float quantize(float value) { diff --git a/tools/slang-test/options.cpp b/tools/slang-test/options.cpp index fa7f332b0..d24ea83e2 100644 --- a/tools/slang-test/options.cpp +++ b/tools/slang-test/options.cpp @@ -125,9 +125,9 @@ static bool _isSubCommand(const char* arg) } optionsOut->binDir = *argCursor++; } - else if (strcmp(arg, "-useexes") == 0) + else if (strcmp(arg, "-use-test-proxy") == 0) { - optionsOut->useExes = true; + optionsOut->defaultSpawnType = SpawnType::UseProxy; } else if (strcmp(arg, "-v") == 0) { diff --git a/tools/slang-test/options.h b/tools/slang-test/options.h index eacbc7acb..4a40cba9a 100644 --- a/tools/slang-test/options.h +++ b/tools/slang-test/options.h @@ -36,6 +36,13 @@ protected: Slang::Dictionary<Slang::String, Slang::RefPtr<TestCategory> > m_categoryMap; }; +enum class SpawnType +{ + UseExe, + UseSharedLibrary, + UseProxy, +}; + struct Options { char const* appName = "slang-test"; @@ -69,9 +76,13 @@ struct Options // integration builds. bool dumpOutputOnFailure = false; - // If set, will force using of executables (not shared library) for tests - bool useExes = false; - + // Set the default spawn type to use + // Set to SpawnType::UseProxy, if isolation of test execution is desired. + // Having tests isolated, slows down testing considerably, so using UseSharedLibrary is the most + // desirable default usually. + SpawnType defaultSpawnType = SpawnType::UseSharedLibrary; + //SpawnType defaultSpawnType = SpawnType::UseProxy; + // kind of output to generate TestOutputMode outputMode = TestOutputMode::Default; diff --git a/tools/slang-test/slang-test-main.cpp b/tools/slang-test/slang-test-main.cpp index 8f7c7e35b..49ee7d688 100644 --- a/tools/slang-test/slang-test-main.cpp +++ b/tools/slang-test/slang-test-main.cpp @@ -97,11 +97,6 @@ struct FileTestList List<TestDetails> tests; }; -enum class SpawnType -{ - UseExe, - UseSharedLibrary, -}; struct TestInput { @@ -531,6 +526,8 @@ static SlangResult _gatherTestsForFile( return SLANG_OK; } + + Result spawnAndWaitExe(TestContext* context, const String& testPath, const CommandLine& cmdLine, ExecuteResult& outRes) { const auto& options = context->options; @@ -550,6 +547,7 @@ Result spawnAndWaitExe(TestContext* context, const String& testPath, const Comma return res; } + Result spawnAndWaitSharedLibrary(TestContext* context, const String& testPath, const CommandLine& cmdLine, ExecuteResult& outRes) { const auto& options = context->options; @@ -620,6 +618,44 @@ Result spawnAndWaitSharedLibrary(TestContext* context, const String& testPath, c } +Result spawnAndWaitProxy(TestContext* context, const String& testPath, const CommandLine& inCmdLine, ExecuteResult& outRes) +{ + // Get the name of the thing to execute + String exeName = Path::getFileNameWithoutExt(inCmdLine.m_executable); + + if (exeName == "slangc") + { + // If the test is slangc there is a command line version we can just directly use + //return spawnAndWaitExe(context, testPath, inCmdLine, outRes); + return spawnAndWaitSharedLibrary(context, testPath, inCmdLine, outRes); + } + + CommandLine cmdLine(inCmdLine); + + // Make the first arg the name of the tool to invoke + cmdLine.m_args.insert(0, exeName); + + auto exePath = Path::combine(Path::getParentDirectory(inCmdLine.m_executable), String("test-proxy") + ProcessUtil::getExecutableSuffix()); + cmdLine.setExecutablePath(exePath); + + const auto& options = context->options; + if (options.shouldBeVerbose) + { + String commandLine = ProcessUtil::getCommandLineString(cmdLine); + context->reporter->messageFormat(TestMessageType::Info, "%s\n", commandLine.begin()); + } + + // Execute + Result res = ProcessUtil::execute(cmdLine, outRes); + if (SLANG_FAILED(res)) + { + // fprintf(stderr, "failed to run test '%S'\n", testPath.ToWString()); + context->reporter->messageFormat(TestMessageType::RunError, "failed to run test '%S'", testPath.toWString().begin()); + } + + return res; +} + static SlangResult _extractArg(const CommandLine& cmdLine, const String& argName, String& outValue) { SLANG_ASSERT(argName.getLength() > 0 && argName[0] == '-'); @@ -972,6 +1008,11 @@ ToolReturnCode spawnAndWait(TestContext* context, const String& testPath, SpawnT spawnResult = spawnAndWaitSharedLibrary(context, testPath, cmdLine, outExeRes); break; } + case SpawnType::UseProxy: + { + spawnResult = spawnAndWaitProxy(context, testPath, cmdLine, outExeRes); + break; + } default: break; } @@ -2880,8 +2921,6 @@ TestResult runTest( return TestResult::Pass; } - const SpawnType defaultSpawnType = context->options.useExes ? SpawnType::UseExe : SpawnType::UseSharedLibrary; - auto testInfo = _findTestCommandInfoByCommand(testOptions.command.getUnownedSlice()); if (testInfo) @@ -2890,7 +2929,7 @@ TestResult runTest( testInput.filePath = filePath; testInput.outputStem = outputStem; testInput.testOptions = &testOptions; - testInput.spawnType = defaultSpawnType; + testInput.spawnType = context->options.defaultSpawnType; return testInfo->callback(context, testInput); } @@ -3346,8 +3385,18 @@ static void _disableCPPBackends(TestContext* context) } } +static TestResult _asTestResult(ToolReturnCode retCode) +{ + switch (retCode) + { + default: return TestResult::Fail; + case ToolReturnCode::Success: return TestResult::Pass; + case ToolReturnCode::Ignored: return TestResult::Ignored; + } +} + /// Loads a DLL containing unit test functions and run them one by one. -static SlangResult runUnitTestModule(TestContext* context, TestOptions& testOptions, const char* moduleName) +static SlangResult runUnitTestModule(TestContext* context, TestOptions& testOptions, SpawnType spawnType, const char* moduleName) { SharedLibrary::Handle moduleHandle; SLANG_RETURN_ON_FAIL(SharedLibrary::load( @@ -3368,6 +3417,9 @@ static SlangResult runUnitTestModule(TestContext* context, TestOptions& testOpti unitTestContext.workDirectory = ""; unitTestContext.enabledApis = context->options.enabledApis; auto testCount = testModule->getTestCount(); + + TestReporter* reporter = TestReporter::get(); + for (SlangInt i = 0; i < testCount; i++) { auto testFunc = testModule->getTestFunc(i); @@ -3382,9 +3434,50 @@ static SlangResult runUnitTestModule(TestContext* context, TestOptions& testOpti { if (testPassesCategoryMask(context, testOptions)) { - TestReporter::get()->startTest(testOptions.command.getBuffer()); - testFunc(&unitTestContext); - TestReporter::get()->endTest(); + if (spawnType == SpawnType::UseProxy) + { + CommandLine cmdLine; + + // The 'command' is the module + cmdLine.setExecutablePath(Path::combine(context->exeDirectoryPath, moduleName)); + + // Pass the test name / index + cmdLine.addArg(testName); + + { + StringBuilder buf; + buf << i; + cmdLine.addArg(buf.ProduceString()); + } + + // Pass the enabled apis + { + StringBuilder buf; + buf << context->options.enabledApis; + cmdLine.addArg(buf.ProduceString()); + } + + { + TestReporter::TestScope scopeTest(reporter, testOptions.command); + ExecuteResult exeRes; + + const auto testResult = _asTestResult(spawnAndWait(context, filePath, spawnType, cmdLine, exeRes)); + + // If the test fails, output any output - which might give information about individual tests that have failed. + if (testResult == TestResult::Fail) + { + String output = getOutput(exeRes); + reporter->message(TestMessageType::TestFailure, output.getBuffer()); + } + + reporter->addResult(testResult); + } + } + else + { + TestReporter::TestScope scopeTest(reporter, testOptions.command); + testFunc(&unitTestContext); + } } } } @@ -3570,13 +3663,15 @@ SlangResult innerMain(int argc, char** argv) TestOptions testOptions; testOptions.categories.add(unitTestCategory); testOptions.categories.add(smokeTestCategory); - runUnitTestModule(&context, testOptions, "slang-unit-test-tool"); + runUnitTestModule(&context, testOptions, context.options.defaultSpawnType, "slang-unit-test-tool"); } + { TestOptions testOptions; testOptions.categories.add(unitTestCategory); - runUnitTestModule(&context, testOptions, "gfx-unit-test-tool"); + runUnitTestModule(&context, testOptions, SpawnType::UseProxy, "gfx-unit-test-tool"); } + TestReporter::set(nullptr); } diff --git a/tools/test-proxy/test-proxy-main.cpp b/tools/test-proxy/test-proxy-main.cpp new file mode 100644 index 000000000..2b6c59047 --- /dev/null +++ b/tools/test-proxy/test-proxy-main.cpp @@ -0,0 +1,247 @@ +// main.cpp + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "../../source/core/slang-secure-crt.h" + +#include "../../slang-com-helper.h" + +#include "../../source/core/slang-string.h" +#include "../../source/core/slang-io.h" +#include "../../source/core/slang-writer.h" +#include "../../source/core/slang-string-util.h" + +#include "../../source/core/slang-shared-library.h" + +#include "../../source/core/slang-test-tool-util.h" + +#include "tools/unit-test/slang-unit-test.h" + +namespace TestProxy +{ +using namespace Slang; + +class TestReporter : public ITestReporter +{ +public: + // ITestReporter + virtual SLANG_NO_THROW void SLANG_MCALL startTest(const char* testName) SLANG_OVERRIDE { } + virtual SLANG_NO_THROW void SLANG_MCALL addResult(TestResult result)SLANG_OVERRIDE; + virtual SLANG_NO_THROW void SLANG_MCALL addResultWithLocation(TestResult result, const char* testText, const char* file, int line) SLANG_OVERRIDE; + virtual SLANG_NO_THROW void SLANG_MCALL addResultWithLocation(bool testSucceeded, const char* testText, const char* file, int line) SLANG_OVERRIDE; + virtual SLANG_NO_THROW void SLANG_MCALL addExecutionTime(double time) SLANG_OVERRIDE { } + virtual SLANG_NO_THROW void SLANG_MCALL message(TestMessageType type, const char* message) SLANG_OVERRIDE; + virtual SLANG_NO_THROW void SLANG_MCALL endTest() SLANG_OVERRIDE { } + + StringBuilder m_buf; + Index m_failCount = 0; + Index m_testCount = 0; +}; + + +void TestReporter::message(TestMessageType type, const char* message) +{ + if (type == TestMessageType::RunError || + type == TestMessageType::TestFailure) + { + m_failCount++; + } + + m_buf << message << "\n"; +} + +void TestReporter::addResultWithLocation(TestResult result, const char* testText, const char* file, int line) +{ + if (result == TestResult::Fail) + { + addResultWithLocation(false, testText, file, line); + } + else + { + m_testCount++; + } +} + +void TestReporter::addResultWithLocation(bool testSucceeded, const char* testText, const char* file, int line) +{ + m_testCount++; + + if (testSucceeded) + { + return; + } + + m_buf << "[Failed]: " << testText << "\n"; + m_buf << file << ":" << line << "\n"; + + m_failCount++; +} + +void TestReporter::addResult(TestResult result) +{ + if (result == TestResult::Fail) + { + m_failCount++; + } +} + +static SlangResult _createSlangSession(const char* exePath, int argc, const char* const* argv, ComPtr<slang::IGlobalSession>& outSession) +{ + + ComPtr<slang::IGlobalSession> session; + + // The sharedSession always has a pre-loaded stdlib, is sharedSession is not nullptr. + // This differed test checks if the command line has an option to setup the stdlib. + // If so we *don't* use the sharedSession, and create a new stdlib-less session just for this compilation. + if (TestToolUtil::hasDeferredStdLib(argc, argv)) + { + SLANG_RETURN_ON_FAIL(slang_createGlobalSessionWithoutStdLib(SLANG_API_VERSION, session.writeRef())); + TestToolUtil::setSessionDefaultPreludeFromExePath(exePath, session); + } + else + { + // Just create the global session in the regular way if there isn't one set + SLANG_RETURN_ON_FAIL(slang_createGlobalSession(SLANG_API_VERSION, session.writeRef())); + TestToolUtil::setSessionDefaultPreludeFromExePath(exePath, session); + } + + outSession.swap(session); + return SLANG_OK; +} + +static SlangResult execute(int argc, const char* const* argv) +{ + typedef Slang::TestToolUtil::InnerMainFunc InnerMainFunc; + + if (argc < 2) + { + return SLANG_FAIL; + } + + String exePath = Path::getParentDirectory(argv[0]); + + // The 'exeName' of the tool. + const String toolName = argv[1]; + + { + StringBuilder sharedLibToolBuilder; + sharedLibToolBuilder.append(toolName); + sharedLibToolBuilder.append("-tool"); + + auto toolPath = Path::combine(exePath, sharedLibToolBuilder); + + ComPtr<ISlangSharedLibrary> sharedLibrary; + if (SLANG_SUCCEEDED(DefaultSharedLibraryLoader::getSingleton()->loadSharedLibrary(toolPath.getBuffer(), sharedLibrary.writeRef()))) + { + // Assume we will used the shared session + ComPtr<slang::IGlobalSession> session; + SLANG_RETURN_ON_FAIL(_createSlangSession(argv[0], argc - 2, argv + 2, session)); + + auto func = (InnerMainFunc)sharedLibrary->findFuncByName("innerMain"); + if (!func) + { + return SLANG_FAIL; + } + + // Work out the args sent to the shared library + List<const char*> args; + args.add(argv[0]); + args.addRange(argv + 2, Index(argc - 2)); + + RefPtr<StdWriters> stdWriters = StdWriters::createDefault(); + + const SlangResult res = func(stdWriters, session, int(args.getCount()), args.begin()); + return res; + } + } + + // Okay lets assume it's a unit test + { + auto toolPath = Path::combine(exePath, toolName); + + ComPtr<ISlangSharedLibrary> sharedLibrary; + SLANG_RETURN_ON_FAIL(SLANG_SUCCEEDED(DefaultSharedLibraryLoader::getSingleton()->loadSharedLibrary(toolPath.getBuffer(), sharedLibrary.writeRef()))); + + // get the unit test export name + + UnitTestGetModuleFunc getModuleFunc = (UnitTestGetModuleFunc)sharedLibrary->findFuncByName("slangUnitTestGetModule"); + if (!getModuleFunc) + return SLANG_FAIL; + + IUnitTestModule* testModule = getModuleFunc(); + if (!testModule) + return SLANG_FAIL; + + // argv[0] exe, + // argv[1] tool + // argv[2] test name + // argv[3] test index + // argv[4] the enabled apis + + if (argc < 5) + { + return SLANG_FAIL; + } + + TestReporter testReporter; + + testModule->setTestReporter(&testReporter); + + Int enabledApis; + SLANG_RETURN_ON_FAIL(StringUtil::parseInt(UnownedStringSlice(argv[4]), enabledApis)); + + Int testIndex; + SLANG_RETURN_ON_FAIL(StringUtil::parseInt(UnownedStringSlice(argv[3]), testIndex)); + + // Assume we will used the shared session + ComPtr<slang::IGlobalSession> session; + SLANG_RETURN_ON_FAIL(_createSlangSession(argv[0], argc - 5, argv + 5, session)); + + UnitTestContext unitTestContext; + unitTestContext.slangGlobalSession = session; + unitTestContext.workDirectory = ""; + unitTestContext.enabledApis = RenderApiFlags(enabledApis); + + auto testCount = testModule->getTestCount(); + SLANG_ASSERT(testIndex >= 0 && testIndex < testCount); + + UnitTestFunc testFunc = testModule->getTestFunc(testIndex); + + try + { + testFunc(&unitTestContext); + } + catch (...) + { + testReporter.m_failCount++; + } + + if (testReporter.m_failCount > 0) + { + // Write out to stderr... + auto writers = StdWriters::createDefault(); + writers->getError().put(testReporter.m_buf.getUnownedSlice()); + return SLANG_FAIL; + } + + if (testReporter.m_testCount == 0) + { + return SLANG_E_NOT_AVAILABLE; + } + + return SLANG_OK; + } + + return SLANG_E_NOT_AVAILABLE; +} + +} // namespace TestProxy + +int main(int argc, const char* const* argv) +{ + using namespace TestProxy; + SlangResult res = execute(argc, argv); + return (int)TestToolUtil::getReturnCode(res); +} |
