summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Siher <32305650+dsiher@users.noreply.github.com>2021-10-19 16:07:29 -0400
committerGitHub <noreply@github.com>2021-10-19 13:07:29 -0700
commitba081c89a60d6207a6534c2ad256945490196661 (patch)
tree445fd106ee5b03c15539fdf7a671137bcc9e3d10
parent2f44d9e01234911dd563f0456b9d861fd8db286d (diff)
Generalize heterogenous code emit (#1968)
* Bring heterogeneous-hello-world back up to date. * Reintroduced heterogeneous-hello-world into the premake * No longer uses compiled bytecode for entry point, instead a loadModule call is hardocoded with the slang file name. * Entry point is, similarly, hardcoded for now. * Added a bypass to slang-legalize-types for an unneeded GPUForeach check * Run premake and change to relative path * Removed experimental and added README * Add prebuild command to premake for heterogeneous example * Pass in entry point as parameter (also remove shader bytecode) * Pass in module name as parameter * Squashed commit of the following: commit 5b13b57fe600724344c556fe4309a5d6bb3d39ab Author: Kai Yao <kyao@nvidia.com> Date: Thu Oct 7 23:38:50 2021 -0700 Return diagnostics data when encountering module load error by exception (#1966) commit 112e1515c30fa972ff56f91514b70946153c718c Author: jsmall-nvidia <jsmall@nvidia.com> Date: Thu Oct 7 16:12:29 2021 -0400 Disable test crashing CI (#1965) * #include an absolute path didn't work - because paths were taken to always be relative. * Disable test that appears to be crashing. commit da32069a0c1c8c723d7ef45100049a8f0dd5d9c4 Author: Kai Yao <kyao@nvidia.com> Date: Mon Oct 4 13:58:51 2021 -0700 Modified barrier API to accept multiple resources per call (#1959) Co-authored-by: Yong He <yonghe@outlook.com> commit 97bb82ebcdf8f1391b9d93b5a8d7b1dfc4e88e52 Author: jsmall-nvidia <jsmall@nvidia.com> Date: Mon Oct 4 14:15:51 2021 -0400 Removing exceptions from core/compiler-core (#1953) * #include an absolute path didn't work - because paths were taken to always be relative. * Refactor Stream. Working on all tests. * Split out CharEncode. * Make method names lower camel. m_prefix in Writer/Reader * Tidy up around CharEncode interface. * Small improvements around encode/decode. * Better use of types. * Remove readLine from TextReader. * Remove exceptions from Stream/Text handling. * Fix some typos. * Fix tabbing. * Fix missing override. * Remove remaining exception throw/catch via using signal mechanism. * Remove exceptions that are not used anymore. * Document the Stream interface. * Remove index for decoding 'get byte' function. * Fix CharReader -> ByteReader. commit b3dfe383c6d31ff3dbd76dcfb32de8d536382f3e Author: lucy96chen <47800040+lucy96chen@users.noreply.github.com> Date: Mon Oct 4 09:46:33 2021 -0700 Get native handles for TextureResource and BufferResource (#1960) * Added getNativeHandle() to TextureResource and BufferResource; Implemented getNativeHandle() in Vulkan and D3D12; Added new unit test files for the aforementioned implementation * Added missing getNativeHandle() implementations to renderer-shared.cpp and CUDA * Finished new getNativeHandle() unit tests for ITextureResource and IBufferResource; Modified ICommandQueue and ICommandBuffer unit tests to call QueryInterface to convert to IUnknown then back and compare resulting pointers for equality * Unit tests updated and pass locally * Cast m_buffer.m_buffer and m_image to uint64_t commit 35bca4cc432613af3926da3bed217a6baa9cbd26 Author: lucy96chen <47800040+lucy96chen@users.noreply.github.com> Date: Fri Oct 1 13:08:25 2021 -0700 Add getNativeHandle() to ICommandQueue and ICommandBuffer (#1952) * Added support for getting command buffer and command queue handles to ICommandBuffer and ICommandQueue; D3D12Device, VkDevice, and DebugDevice modifieid to implement this new functionality; immediate-renderer-base.cpp also modified to implement the new functions * Removed excess boilerplate * Changed readRef() to get() in D3D12 getNativeHandle() implementation for ICommandBuffer and ICommandQueue * Added unit tests for new getNativeHandle() implementations, unfinished * Queue test added; Minor cleanup changes * getBufferHandleTestImpl() now closes the command buffer before returning * Added getNativeHandle() implementations to CUDADevice * Added comment clarifying that the Vulkan check is checking for a null handle, which is defined to be 0 commit 6c6200f547c7387598743b23bb3c8f0d375d9494 Author: Kai Yao <kyao@nvidia.com> Date: Thu Sep 30 20:25:34 2021 -0700 VK Resource Barrier (#1955) * Resource barrier API and VK implementation * Stub implementations * Handle VK Acceleration Structure flag * Add a couple more cases to pipeline barrier stages commit 627fc976bac5c2381dbace9c7925cb6a68b8de12 Author: Yong He <yonghe@outlook.com> Date: Thu Sep 30 19:48:47 2021 -0700 Fix aarch64 build on github (#1957) Co-authored-by: Yong He <yhe@nvidia.com> commit 122d701513e116856bd59c999221ce36a373d7db Author: Yong He <yonghe@outlook.com> Date: Thu Sep 30 17:51:56 2021 -0700 Fix GitHub release (#1956) * Fix aarch64 release build config. * Fix for WinAarch64 build. * Update premake for embed-std-lib build on aarch64. * `platform` fix for aarach64 build. * Try revert back to use absolute output path for slang-stdlib-generated.h * Fix * fix Co-authored-by: Yong He <yhe@nvidia.com> commit aa8f7b899b7b562b3d3c6e25c3da41569505e70c Author: Chad Engler <englercj@live.com> Date: Wed Sep 29 13:02:47 2021 -0700 Fix ARM64 detection for MSVC (#1951) commit 6736b0c1c5fa3e89bc561eb7965a1a0d17af3466 Author: Yong He <yonghe@outlook.com> Date: Wed Sep 29 11:29:46 2021 -0700 Add ISession::loadModuleFromSource. (#1950) Co-authored-by: Yong He <yhe@nvidia.com> commit d8e452412e14a6a8ba137f2adcae13b398e5cecb Author: Yong He <yonghe@outlook.com> Date: Tue Sep 28 15:03:03 2021 -0700 Fix AbortCompilationException leaking through loadModule API. (#1949) * Fix AbortCompilationException leaking through loadModule API. * Update. * Fix. Co-authored-by: Yong He <yhe@nvidia.com> commit cdf1b2c007fefdca128584d2a9f63dec3d350e16 Author: Yong He <yonghe@outlook.com> Date: Tue Sep 28 11:54:24 2021 -0700 Improvements to the unit test framework. (#1948) commit af788b62e18bbd55cd748ad60400a74cf1bc93ee Author: lucy96chen <47800040+lucy96chen@users.noreply.github.com> Date: Fri Sep 24 16:53:41 2021 -0700 Add existing device handle support unit test (#1946) commit bec8e6aec85b6e3f875c58bdd59eb15613978358 Author: Yong He <yonghe@outlook.com> Date: Fri Sep 24 11:33:44 2021 -0700 Move existing unit tests to a standalone dll. (#1945) commit f2a3c933bc11a498c622fa18694c84beca8ca031 Author: lucy96chen <47800040+lucy96chen@users.noreply.github.com> Date: Thu Sep 23 12:19:49 2021 -0700 Add method to retrieve native handles (#1944) * Added a getNativeHandle() method that retrieves the natively created handles; Modified RendererBase, VKDevice, D3D12Device, and DebugDevice to implement this new method * Moved ExistingDeviceHandles out of Desc directly inside IDevice and renamed to NativeHandles; Modified calls accessing the struct accordingly in RendererBase, DebugDevice, VKDevice, and D3D12Device * Minor cleanup changes (renames, etc.) commit b9b398d038b524f15a86ff27cd6888d54e8754e0 Author: Yong He <yonghe@outlook.com> Date: Wed Sep 22 10:06:59 2021 -0700 Add gfx unit testing framework. (#1943) * Add gfx unit testing framework. * Fix compilation error. * Reset gfxDebugCallback after render_test. * Pass enabledApi flags through. * Fix for code review suggestions. Co-authored-by: Yong He <yhe@nvidia.com> commit 6e9cee69b3588ddae09b08b9f580f59ad899983f Author: lucy96chen <47800040+lucy96chen@users.noreply.github.com> Date: Tue Sep 21 18:46:32 2021 -0700 Support for existing device/instance handles in Vulkan (#1942) commit b1f04c8544c650de3947955ca68f679535d249aa Author: lucy96chen <47800040+lucy96chen@users.noreply.github.com> Date: Wed Sep 15 20:22:45 2021 -0700 Allow D3D12Device to use an existing device handle (#1940) * Added a new field for an existing device handle to IDevice::Desc; Modified D3D12Device::initialize to set the device stored in desc if it already exists instead of creating a new one * Turned existingDeviceHandle into a struct containing an array of two elements; Updated D3D12Device::initialize to match changes to existingDeviceHandle; Updated comments * Fixed style error for ExistingDeviceHandles struct commit 2f7b9f5ae8be21c6c1d75ae9caefbc7b3f8986a9 Author: Pablo Delgado <private@pablode.com> Date: Thu Sep 16 01:17:57 2021 +0200 Fix incorrect WIN32 macros and missing Windows.h inclusion (#1939) * Replace WIN32 preprocessor macros with _WIN32 * Add missing Windows.h include for InterlockedIncrement commit 11d43642008905ac69a3832eb8a9b2ae7b785f86 Author: Yong He <yonghe@outlook.com> Date: Tue Sep 14 11:36:44 2021 -0700 Avoid upcasting to f32 in 16bit float-uint bit cast. (#1938) Co-authored-by: Yong He <yhe@nvidia.com> commit 502aa3812a82cf0d091cff0c67804e4ee448ac78 Author: David Siher <32305650+dsiher@users.noreply.github.com> Date: Tue Sep 14 12:59:55 2021 -0400 Bring heterogeneous-hello-world back up to date. (#1935) * Bring heterogeneous-hello-world back up to date. * Reintroduced heterogeneous-hello-world into the premake * No longer uses compiled bytecode for entry point, instead a loadModule call is hardocoded with the slang file name. * Entry point is, similarly, hardcoded for now. * Added a bypass to slang-legalize-types for an unneeded GPUForeach check * Run premake and change to relative path * Removed experimental and added README Co-authored-by: Yong He <yonghe@outlook.com> * Revert "Squashed commit of the following:" This reverts commit 4f665858d65f7c332c616ef6db9fdafa1c5e0b9f. * Run premake * Remove prebuild command (only works on Windows?) * Rerun premake * Fix heterogeneous prebuild command * Remove linux specific prebuild command * Fix prebuild command (again) * Change target from dxbc to hlsl to see if that fixes linux issues * Use Path::getFileNameWithoutExt * Change string-literal.slang.expected to have extra filename in decoration Co-authored-by: Yong He <yonghe@outlook.com>
-rw-r--r--build/visual-studio/heterogeneous-hello-world/heterogeneous-hello-world.vcxproj613
-rw-r--r--examples/heterogeneous-hello-world/main.cpp12
-rw-r--r--examples/heterogeneous-hello-world/shader.cpp37
-rw-r--r--examples/heterogeneous-hello-world/shader.slang2
-rw-r--r--prelude/slang-cpp-prelude.h2
-rw-r--r--premake5.lua9
-rw-r--r--slang.sln930
-rw-r--r--source/slang/slang-emit-cpp.cpp49
-rw-r--r--source/slang/slang-ir-insts.h6
-rw-r--r--source/slang/slang-lower-to-ir.cpp11
-rw-r--r--tests/ir/string-literal.slang.expected2
11 files changed, 842 insertions, 831 deletions
diff --git a/build/visual-studio/heterogeneous-hello-world/heterogeneous-hello-world.vcxproj b/build/visual-studio/heterogeneous-hello-world/heterogeneous-hello-world.vcxproj
index a01e4cd54..a7489c0b3 100644
--- a/build/visual-studio/heterogeneous-hello-world/heterogeneous-hello-world.vcxproj
+++ b/build/visual-studio/heterogeneous-hello-world/heterogeneous-hello-world.vcxproj
@@ -1,294 +1,321 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|ARM">
- <Configuration>Debug</Configuration>
- <Platform>ARM</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug aarch64|Win32">
- <Configuration>Debug aarch64</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug aarch64|x64">
- <Configuration>Debug aarch64</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug aarch64|ARM">
- <Configuration>Debug aarch64</Configuration>
- <Platform>ARM</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|ARM">
- <Configuration>Release</Configuration>
- <Platform>ARM</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release aarch64|Win32">
- <Configuration>Release aarch64</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release aarch64|x64">
- <Configuration>Release aarch64</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release aarch64|ARM">
- <Configuration>Release aarch64</Configuration>
- <Platform>ARM</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{150CAA5A-0177-6A66-AA92-CFCB96DC2D49}</ProjectGuid>
- <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename>
- <Keyword>Win32Proj</Keyword>
- <RootNamespace>heterogeneous-hello-world</RootNamespace>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v142</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v142</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v142</PlatformToolset>
- <WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v142</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v142</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v142</PlatformToolset>
- <WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <LinkIncremental>true</LinkIncremental>
- <OutDir>..\..\..\bin\windows-x86\debug\</OutDir>
- <IntDir>..\..\..\intermediate\windows-x86\debug\heterogeneous-hello-world\</IntDir>
- <TargetName>heterogeneous-hello-world</TargetName>
- <TargetExt>.exe</TargetExt>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <LinkIncremental>true</LinkIncremental>
- <OutDir>..\..\..\bin\windows-x64\debug\</OutDir>
- <IntDir>..\..\..\intermediate\windows-x64\debug\heterogeneous-hello-world\</IntDir>
- <TargetName>heterogeneous-hello-world</TargetName>
- <TargetExt>.exe</TargetExt>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">
- <LinkIncremental>true</LinkIncremental>
- <OutDir>..\..\..\bin\windows-aarch64\debug\</OutDir>
- <IntDir>..\..\..\intermediate\windows-aarch64\debug\heterogeneous-hello-world\</IntDir>
- <TargetName>heterogeneous-hello-world</TargetName>
- <TargetExt>.exe</TargetExt>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <LinkIncremental>false</LinkIncremental>
- <OutDir>..\..\..\bin\windows-x86\release\</OutDir>
- <IntDir>..\..\..\intermediate\windows-x86\release\heterogeneous-hello-world\</IntDir>
- <TargetName>heterogeneous-hello-world</TargetName>
- <TargetExt>.exe</TargetExt>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <LinkIncremental>false</LinkIncremental>
- <OutDir>..\..\..\bin\windows-x64\release\</OutDir>
- <IntDir>..\..\..\intermediate\windows-x64\release\heterogeneous-hello-world\</IntDir>
- <TargetName>heterogeneous-hello-world</TargetName>
- <TargetExt>.exe</TargetExt>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">
- <LinkIncremental>false</LinkIncremental>
- <OutDir>..\..\..\bin\windows-aarch64\release\</OutDir>
- <IntDir>..\..\..\intermediate\windows-aarch64\release\heterogeneous-hello-world\</IntDir>
- <TargetName>heterogeneous-hello-world</TargetName>
- <TargetExt>.exe</TargetExt>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\..\..;..\..\..\tools;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
- <Optimization>Disabled</Optimization>
- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\..\..;..\..\..\tools;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
- <Optimization>Disabled</Optimization>
- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\..\..;..\..\..\tools;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- <Optimization>Disabled</Optimization>
- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\..\..;..\..\..\tools;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <Optimization>Full</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <MinimalRebuild>false</MinimalRebuild>
- <StringPooling>true</StringPooling>
- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\..\..;..\..\..\tools;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <Optimization>Full</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <MinimalRebuild>false</MinimalRebuild>
- <StringPooling>true</StringPooling>
- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\..\..;..\..\..\tools;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <Optimization>Full</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <MinimalRebuild>false</MinimalRebuild>
- <StringPooling>true</StringPooling>
- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="..\..\..\examples\heterogeneous-hello-world\main.cpp" />
- <ClCompile Include="..\..\..\examples\heterogeneous-hello-world\shader.cpp" />
- </ItemGroup>
- <ItemGroup>
- <None Include="..\..\..\examples\heterogeneous-hello-world\shader.slang" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\example-base\example-base.vcxproj">
- <Project>{37BED5B5-23FA-D81F-8C0C-F1167867813A}</Project>
- </ProjectReference>
- <ProjectReference Include="..\slang\slang.vcxproj">
- <Project>{DB00DA62-0533-4AFD-B59F-A67D5B3A0808}</Project>
- </ProjectReference>
- <ProjectReference Include="..\gfx\gfx.vcxproj">
- <Project>{222F7498-B40C-4F3F-A704-DDEB91A4484A}</Project>
- </ProjectReference>
- <ProjectReference Include="..\gfx-util\gfx-util.vcxproj">
- <Project>{F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}</Project>
- </ProjectReference>
- <ProjectReference Include="..\platform\platform.vcxproj">
- <Project>{3565FE5E-4FA3-11EB-AE93-0242AC130002}</Project>
- </ProjectReference>
- <ProjectReference Include="..\core\core.vcxproj">
- <Project>{F9BE7957-8399-899E-0C49-E714FDDD4B65}</Project>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|ARM">
+ <Configuration>Debug</Configuration>
+ <Platform>ARM</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug aarch64|Win32">
+ <Configuration>Debug aarch64</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug aarch64|x64">
+ <Configuration>Debug aarch64</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug aarch64|ARM">
+ <Configuration>Debug aarch64</Configuration>
+ <Platform>ARM</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|ARM">
+ <Configuration>Release</Configuration>
+ <Platform>ARM</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release aarch64|Win32">
+ <Configuration>Release aarch64</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release aarch64|x64">
+ <Configuration>Release aarch64</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release aarch64|ARM">
+ <Configuration>Release aarch64</Configuration>
+ <Platform>ARM</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{150CAA5A-0177-6A66-AA92-CFCB96DC2D49}</ProjectGuid>
+ <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace>heterogeneous-hello-world</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v142</PlatformToolset>
+ <WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v142</PlatformToolset>
+ <WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>..\..\..\bin\windows-x86\debug\</OutDir>
+ <IntDir>..\..\..\intermediate\windows-x86\debug\heterogeneous-hello-world\</IntDir>
+ <TargetName>heterogeneous-hello-world</TargetName>
+ <TargetExt>.exe</TargetExt>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>..\..\..\bin\windows-x64\debug\</OutDir>
+ <IntDir>..\..\..\intermediate\windows-x64\debug\heterogeneous-hello-world\</IntDir>
+ <TargetName>heterogeneous-hello-world</TargetName>
+ <TargetExt>.exe</TargetExt>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>..\..\..\bin\windows-aarch64\debug\</OutDir>
+ <IntDir>..\..\..\intermediate\windows-aarch64\debug\heterogeneous-hello-world\</IntDir>
+ <TargetName>heterogeneous-hello-world</TargetName>
+ <TargetExt>.exe</TargetExt>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>..\..\..\bin\windows-x86\release\</OutDir>
+ <IntDir>..\..\..\intermediate\windows-x86\release\heterogeneous-hello-world\</IntDir>
+ <TargetName>heterogeneous-hello-world</TargetName>
+ <TargetExt>.exe</TargetExt>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>..\..\..\bin\windows-x64\release\</OutDir>
+ <IntDir>..\..\..\intermediate\windows-x64\release\heterogeneous-hello-world\</IntDir>
+ <TargetName>heterogeneous-hello-world</TargetName>
+ <TargetExt>.exe</TargetExt>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>..\..\..\bin\windows-aarch64\release\</OutDir>
+ <IntDir>..\..\..\intermediate\windows-aarch64\release\heterogeneous-hello-world\</IntDir>
+ <TargetName>heterogeneous-hello-world</TargetName>
+ <TargetExt>.exe</TargetExt>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\..;..\..\..\tools;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ <Optimization>Disabled</Optimization>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ <PreBuildEvent>
+ <Command>"../../../bin/windows-x86/debug/slangc" "../../../examples/heterogeneous-hello-world/shader.slang" -o "../../../examples/heterogeneous-hello-world/shader.cpp" -heterogeneous -target cpp -target hlsl</Command>
+ <Message>Generating shader.cpp from shader.slang</Message>
+ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\..;..\..\..\tools;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ <Optimization>Disabled</Optimization>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ <PreBuildEvent>
+ <Command>"../../../bin/windows-x64/debug/slangc" "../../../examples/heterogeneous-hello-world/shader.slang" -o "../../../examples/heterogeneous-hello-world/shader.cpp" -heterogeneous -target cpp -target hlsl</Command>
+ <Message>Generating shader.cpp from shader.slang</Message>
+ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">
+ <ClCompile>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\..;..\..\..\tools;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <Optimization>Disabled</Optimization>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ <PreBuildEvent>
+ <Command>"../../../bin/windows-aarch64/debug/slangc" "../../../examples/heterogeneous-hello-world/shader.slang" -o "../../../examples/heterogeneous-hello-world/shader.cpp" -heterogeneous -target cpp -target hlsl</Command>
+ <Message>Generating shader.cpp from shader.slang</Message>
+ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\..;..\..\..\tools;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <Optimization>Full</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <MinimalRebuild>false</MinimalRebuild>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ <PreBuildEvent>
+ <Command>"../../../bin/windows-x86/release/slangc" "../../../examples/heterogeneous-hello-world/shader.slang" -o "../../../examples/heterogeneous-hello-world/shader.cpp" -heterogeneous -target cpp -target hlsl</Command>
+ <Message>Generating shader.cpp from shader.slang</Message>
+ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\..;..\..\..\tools;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <Optimization>Full</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <MinimalRebuild>false</MinimalRebuild>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ <PreBuildEvent>
+ <Command>"../../../bin/windows-x64/release/slangc" "../../../examples/heterogeneous-hello-world/shader.slang" -o "../../../examples/heterogeneous-hello-world/shader.cpp" -heterogeneous -target cpp -target hlsl</Command>
+ <Message>Generating shader.cpp from shader.slang</Message>
+ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">
+ <ClCompile>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\..;..\..\..\tools;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <Optimization>Full</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <MinimalRebuild>false</MinimalRebuild>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ <PreBuildEvent>
+ <Command>"../../../bin/windows-aarch64/release/slangc" "../../../examples/heterogeneous-hello-world/shader.slang" -o "../../../examples/heterogeneous-hello-world/shader.cpp" -heterogeneous -target cpp -target hlsl</Command>
+ <Message>Generating shader.cpp from shader.slang</Message>
+ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\examples\heterogeneous-hello-world\main.cpp" />
+ <ClCompile Include="..\..\..\examples\heterogeneous-hello-world\shader.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\..\..\examples\heterogeneous-hello-world\shader.slang" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\example-base\example-base.vcxproj">
+ <Project>{37BED5B5-23FA-D81F-8C0C-F1167867813A}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\slang\slang.vcxproj">
+ <Project>{DB00DA62-0533-4AFD-B59F-A67D5B3A0808}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\gfx\gfx.vcxproj">
+ <Project>{222F7498-B40C-4F3F-A704-DDEB91A4484A}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\gfx-util\gfx-util.vcxproj">
+ <Project>{F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\slangc\slangc.vcxproj">
+ <Project>{D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\platform\platform.vcxproj">
+ <Project>{3565FE5E-4FA3-11EB-AE93-0242AC130002}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\core\core.vcxproj">
+ <Project>{F9BE7957-8399-899E-0C49-E714FDDD4B65}</Project>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
</Project> \ No newline at end of file
diff --git a/examples/heterogeneous-hello-world/main.cpp b/examples/heterogeneous-hello-world/main.cpp
index 9e0bb8b0f..05d1e4787 100644
--- a/examples/heterogeneous-hello-world/main.cpp
+++ b/examples/heterogeneous-hello-world/main.cpp
@@ -62,7 +62,7 @@ gfx::IDevice* createDevice()
// Loads the shader code defined in `shader.slang` for use by the `gfx` layer.
//
-gfx::IShaderProgram* loadShaderProgram(gfx::IDevice *device)
+gfx::IShaderProgram* loadShaderProgram(gfx::IDevice *device, String entryPoint, String moduleName)
{
// We need to obtain a compilation session (`slang::ISession`) that will provide
// a scope to all the compilation and loading of code we do.
@@ -83,14 +83,14 @@ gfx::IShaderProgram* loadShaderProgram(gfx::IDevice *device)
// already been loaded previously, that would be used directly.
//
ComPtr<slang::IBlob> diagnosticsBlob;
- slang::IModule *module = slangSession->loadModule("shader", diagnosticsBlob.writeRef());
+ slang::IModule *module = slangSession->loadModule(moduleName.getBuffer(), diagnosticsBlob.writeRef());
diagnoseIfNeeded(diagnosticsBlob);
if (!module)
return NULL;
- // Look up entry point (hardcoded for now)
+ // Look up entry point
//
- char const *computeEntryPointName = "computeMain";
+ char const *computeEntryPointName = entryPoint.getBuffer();
ComPtr<slang::IEntryPoint> computeEntryPoint;
SLANG_RETURN_NULL_ON_FAIL(
module->findEntryPointByName(computeEntryPointName, computeEntryPoint.writeRef()));
@@ -270,9 +270,9 @@ gfx_BufferResource_0* createStructuredBuffer_0(gfx_Device_0* _0, FixedArray<floa
return (gfx_BufferResource_0*)createStructuredBuffer((gfx::IDevice*)_0, (float*)&_1);
}
-gfx_ShaderProgram_0* loadShaderProgram_0(gfx_Device_0* _0)
+gfx_ShaderProgram_0* loadShaderProgram_0(gfx_Device_0* _0, char* _1, char* _2)
{
- return (gfx_ShaderProgram_0*)loadShaderProgram((gfx::IDevice*)_0);
+ return (gfx_ShaderProgram_0*)loadShaderProgram((gfx::IDevice*)_0, _1, _2);
}
gfx_ResourceView_0* createBufferView_0(gfx_Device_0* _0, gfx_BufferResource_0* _1)
diff --git a/examples/heterogeneous-hello-world/shader.cpp b/examples/heterogeneous-hello-world/shader.cpp
index 0c0c24ebc..3f08af05f 100644
--- a/examples/heterogeneous-hello-world/shader.cpp
+++ b/examples/heterogeneous-hello-world/shader.cpp
@@ -28,45 +28,10 @@ Vector<uint32_t, 3> make_VecU3(uint32_t a, uint32_t b, uint32_t c)
return Vector<uint32_t, 3>{ a, b, c};
}
-size_t __computeMainSize = 668;
-unsigned char __computeMain[] = {68, 88, 66, 67, 87, 111, 81, 164, 2, 29, 72, 42, 151, 28, 13, 217, 55, 37, 7, 95, 1,
-0, 0, 0, 156, 2, 0, 0, 5, 0, 0, 0, 52, 0, 0, 0, 8, 1, 0, 0, 24,
-1, 0, 0, 40, 1, 0, 0, 32, 2, 0, 0, 82, 68, 69, 70, 204, 0, 0, 0, 1,
-0, 0, 0, 88, 0, 0, 0, 1, 0, 0, 0, 28, 0, 0, 0, 0, 4, 83, 67, 0,
-9, 16, 0, 164, 0, 0, 0, 60, 0, 0, 0, 6, 0, 0, 0, 6, 0, 0, 0, 1,
-0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 101,
-110, 116, 114, 121, 80, 111, 105, 110, 116, 80, 97, 114, 97, 109, 115, 95, 105, 111, 66, 117,
-102, 102, 101, 114, 95, 48, 0, 60, 0, 0, 0, 1, 0, 0, 0, 112, 0, 0, 0, 4,
-0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 136, 0, 0, 0, 0, 0, 0, 0, 4,
-0, 0, 0, 2, 0, 0, 0, 148, 0, 0, 0, 0, 0, 0, 0, 36, 69, 108, 101, 109,
-101, 110, 116, 0, 171, 171, 171, 0, 0, 3, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
-0, 0, 0, 77, 105, 99, 114, 111, 115, 111, 102, 116, 32, 40, 82, 41, 32, 72, 76, 83,
-76, 32, 83, 104, 97, 100, 101, 114, 32, 67, 111, 109, 112, 105, 108, 101, 114, 32, 49, 48,
-46, 49, 0, 73, 83, 71, 78, 8, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 79,
-83, 71, 78, 8, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 83, 72, 69, 88, 240,
-0, 0, 0, 64, 0, 5, 0, 60, 0, 0, 0, 106, 8, 0, 1, 158, 0, 0, 4, 0,
-224, 17, 0, 0, 0, 0, 0, 4, 0, 0, 0, 95, 0, 0, 2, 18, 0, 2, 0, 104,
-0, 0, 2, 1, 0, 0, 0, 155, 0, 0, 4, 4, 0, 0, 0, 1, 0, 0, 0, 1,
-0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 0, 0, 0, 0, 10, 0, 2, 0, 1,
-64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 0, 0, 0, 0, 49, 0, 0, 7, 34,
-0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 1, 64, 0, 0, 0,
-0, 0, 63, 0, 0, 0, 7, 66, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 0,
-0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 75, 0, 0, 5, 18, 0, 16, 0, 0,
-0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 55, 0, 0, 9, 18, 0, 16, 0, 0,
-0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 42, 0, 16, 0, 0, 0, 0, 0, 10,
-0, 16, 0, 0, 0, 0, 0, 168, 0, 0, 8, 18, 224, 17, 0, 0, 0, 0, 0, 10,
-0, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 62,
-0, 0, 1, 83, 84, 65, 84, 116, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0,
-0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
-0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-0, 0, 0, 0, 0, 0, 0, };
void computeMain_wrapper(gfx_Device_0* device, Vector<uint32_t, 3> gridDims,
RWStructuredBuffer<float> buffer)
{
- gfx_ShaderProgram_0* shaderProgram = loadShaderProgram_0(device);
+ gfx_ShaderProgram_0* shaderProgram = loadShaderProgram_0(device, "computeMain", "shader");
gfx_TransientResourceHeap_0* transientHeap = buildTransientHeap_0(device);
gfx_PipelineState_0* pipelineState = buildPipelineState_0(device, shaderProgram);
gfx_ResourceView_0* bufferView = createBufferView_0(device, unconvertBuffer_0(buffer));
diff --git a/examples/heterogeneous-hello-world/shader.slang b/examples/heterogeneous-hello-world/shader.slang
index b66640e3d..d67fd5582 100644
--- a/examples/heterogeneous-hello-world/shader.slang
+++ b/examples/heterogeneous-hello-world/shader.slang
@@ -29,7 +29,7 @@ namespace gfx {
// Forward declarations of cpp functions
//
Ptr<gfx::Device> createDevice();
-Ptr<gfx::ShaderProgram> loadShaderProgram(Ptr<gfx::Device> device);
+Ptr<gfx::ShaderProgram> loadShaderProgram(Ptr<gfx::Device> device, String entryPoint, String module);
Ptr<gfx::BufferResource> createStructuredBuffer(
Ptr<gfx::Device> device,
float[4] initialData);
diff --git a/prelude/slang-cpp-prelude.h b/prelude/slang-cpp-prelude.h
index 5981c8734..b1b29284c 100644
--- a/prelude/slang-cpp-prelude.h
+++ b/prelude/slang-cpp-prelude.h
@@ -139,7 +139,7 @@ struct gfx_ResourceView_0;
struct gfx_TransientResourceHeap_0;
struct gfx_PipelineState_0;
-gfx_ShaderProgram_0* loadShaderProgram_0(gfx_Device_0* _0);
+gfx_ShaderProgram_0* loadShaderProgram_0(gfx_Device_0* _0, char* _1, char* _2);
gfx_TransientResourceHeap_0* buildTransientHeap_0(gfx_Device_0* _0);
gfx_PipelineState_0* buildPipelineState_0(gfx_Device_0* _0, gfx_ShaderProgram_0* _1);
gfx_ResourceView_0* createBufferView_0(gfx_Device_0* _0, gfx_BufferResource_0* _1);
diff --git a/premake5.lua b/premake5.lua
index 32731dd77..f6f2fc22f 100644
--- a/premake5.lua
+++ b/premake5.lua
@@ -14,7 +14,7 @@
-- and see what happens.
--
-- If you are going to modify this file to change/customize the Slang
--- buidl, then you may need to read up on Premake's approach and
+-- build, then you may need to read up on Premake's approach and
-- how it uses/abuses Lua syntax. A few important things to note:
--
-- * Everything that *looks* like a declarative (e.g., `kind "SharedLib"`)
@@ -676,6 +676,13 @@ newoption {
example "heterogeneous-hello-world"
kind "ConsoleApp"
+ -- Additionally add slangc for compiling shader.cpp
+ links { "example-base", "slang", "gfx", "gfx-util", "slangc", "platform", "core" }
+ -- Generate shader.cpp from shader.slang
+ prebuildmessage ("Generating shader.cpp from shader.slang")
+ prebuildcommands {
+ "\"%{wks.location:lower()}/bin/" .. targetName .. "/%{cfg.buildcfg:lower()}/slangc\" \"%{wks.location:lower()}/examples/heterogeneous-hello-world/shader.slang\" -o \"%{wks.location:lower()}/examples/heterogeneous-hello-world/shader.cpp\" -heterogeneous -target cpp -target hlsl"
+ }
-- Most of the other projects have more interesting configuration going
-- on, so let's walk through them in order of increasing complexity.
diff --git a/slang.sln b/slang.sln
index 1a321538d..1ac713f1c 100644
--- a/slang.sln
+++ b/slang.sln
@@ -1,465 +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}") = "heterogeneous-hello-world", "build\visual-studio\heterogeneous-hello-world\heterogeneous-hello-world.vcxproj", "{150CAA5A-0177-6A66-AA92-CFCB96DC2D49}"
-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
- {150CAA5A-0177-6A66-AA92-CFCB96DC2D49}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
- {150CAA5A-0177-6A66-AA92-CFCB96DC2D49}.Debug|aarch64.Build.0 = Debug aarch64|ARM
- {150CAA5A-0177-6A66-AA92-CFCB96DC2D49}.Debug|Win32.ActiveCfg = Debug|Win32
- {150CAA5A-0177-6A66-AA92-CFCB96DC2D49}.Debug|Win32.Build.0 = Debug|Win32
- {150CAA5A-0177-6A66-AA92-CFCB96DC2D49}.Debug|x64.ActiveCfg = Debug|x64
- {150CAA5A-0177-6A66-AA92-CFCB96DC2D49}.Debug|x64.Build.0 = Debug|x64
- {150CAA5A-0177-6A66-AA92-CFCB96DC2D49}.Release|aarch64.ActiveCfg = Release aarch64|ARM
- {150CAA5A-0177-6A66-AA92-CFCB96DC2D49}.Release|aarch64.Build.0 = Release aarch64|ARM
- {150CAA5A-0177-6A66-AA92-CFCB96DC2D49}.Release|Win32.ActiveCfg = Release|Win32
- {150CAA5A-0177-6A66-AA92-CFCB96DC2D49}.Release|Win32.Build.0 = Release|Win32
- {150CAA5A-0177-6A66-AA92-CFCB96DC2D49}.Release|x64.ActiveCfg = Release|x64
- {150CAA5A-0177-6A66-AA92-CFCB96DC2D49}.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}
- {150CAA5A-0177-6A66-AA92-CFCB96DC2D49} = {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}") = "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}") = "heterogeneous-hello-world", "build\visual-studio\heterogeneous-hello-world\heterogeneous-hello-world.vcxproj", "{150CAA5A-0177-6A66-AA92-CFCB96DC2D49}"
+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
+ {150CAA5A-0177-6A66-AA92-CFCB96DC2D49}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM
+ {150CAA5A-0177-6A66-AA92-CFCB96DC2D49}.Debug|aarch64.Build.0 = Debug aarch64|ARM
+ {150CAA5A-0177-6A66-AA92-CFCB96DC2D49}.Debug|Win32.ActiveCfg = Debug|Win32
+ {150CAA5A-0177-6A66-AA92-CFCB96DC2D49}.Debug|Win32.Build.0 = Debug|Win32
+ {150CAA5A-0177-6A66-AA92-CFCB96DC2D49}.Debug|x64.ActiveCfg = Debug|x64
+ {150CAA5A-0177-6A66-AA92-CFCB96DC2D49}.Debug|x64.Build.0 = Debug|x64
+ {150CAA5A-0177-6A66-AA92-CFCB96DC2D49}.Release|aarch64.ActiveCfg = Release aarch64|ARM
+ {150CAA5A-0177-6A66-AA92-CFCB96DC2D49}.Release|aarch64.Build.0 = Release aarch64|ARM
+ {150CAA5A-0177-6A66-AA92-CFCB96DC2D49}.Release|Win32.ActiveCfg = Release|Win32
+ {150CAA5A-0177-6A66-AA92-CFCB96DC2D49}.Release|Win32.Build.0 = Release|Win32
+ {150CAA5A-0177-6A66-AA92-CFCB96DC2D49}.Release|x64.ActiveCfg = Release|x64
+ {150CAA5A-0177-6A66-AA92-CFCB96DC2D49}.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}
+ {150CAA5A-0177-6A66-AA92-CFCB96DC2D49} = {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/slang/slang-emit-cpp.cpp b/source/slang/slang-emit-cpp.cpp
index f71406261..7e70b73e2 100644
--- a/source/slang/slang-emit-cpp.cpp
+++ b/source/slang/slang-emit-cpp.cpp
@@ -2642,6 +2642,7 @@ void CPPSourceEmitter::emitModuleImpl(IRModule* module, DiagnosticSink* sink)
if (auto entryPointDecoration = func->findDecoration<IREntryPointDecoration>())
{
String entryPointName = entryPointDecoration->getName()->getStringSlice();
+ String moduleName = entryPointDecoration->getModuleName()->getStringSlice();
for (int index = 0; index < program->getEntryPointCount(); index++)
{
auto entryPoint = program->getEntryPoint(index);
@@ -2680,30 +2681,30 @@ void CPPSourceEmitter::emitModuleImpl(IRModule* module, DiagnosticSink* sink)
else
{
- auto ptr = (const unsigned char*)blob->getBufferPointer();
+ // auto ptr = (const unsigned char*)blob->getBufferPointer();
- m_writer->emit("size_t __");
- m_writer->emit(entryPointName);
- m_writer->emit("Size = ");
- m_writer->emitInt64(blob->getBufferSize());
- m_writer->emit(";\n");
+ // m_writer->emit("size_t __");
+ // m_writer->emit(entryPointName);
+ // m_writer->emit("Size = ");
+ // m_writer->emitInt64(blob->getBufferSize());
+ // m_writer->emit(";\n");
- m_writer->emit("unsigned char __");
- m_writer->emit(entryPointName);
- m_writer->emit("[] = {");
+ // m_writer->emit("unsigned char __");
+ // m_writer->emit(entryPointName);
+ // m_writer->emit("[] = {");
// every 20 bytes, emit a newline
- size_t j = 0;
- for (size_t i = 0; i < blob->getBufferSize(); i++) {
- m_writer->emitUInt64(ptr[i]);
- m_writer->emit(", ");
- if (j == 20)
- {
- m_writer->emit("\n");
- j = 0;
- }
- j++;
- }
- m_writer->emit("};\n");
+ // size_t j = 0;
+ // for (size_t i = 0; i < blob->getBufferSize(); i++) {
+ // m_writer->emitUInt64(ptr[i]);
+ // m_writer->emit(", ");
+ // if (j == 20)
+ // {
+ // m_writer->emit("\n");
+ // j = 0;
+ // }
+ // j++;
+ // }
+ // m_writer->emit("};\n");
}
}
}
@@ -2717,7 +2718,11 @@ void CPPSourceEmitter::emitModuleImpl(IRModule* module, DiagnosticSink* sink)
m_writer->emit(", __");
m_writer->emit(entryPointName);
m_writer->emit("Size);");*/
- m_writer->emit("\n\tgfx_ShaderProgram_0* shaderProgram = loadShaderProgram_0(device);");
+ m_writer->emit("\n\tgfx_ShaderProgram_0* shaderProgram = loadShaderProgram_0(device, \"");
+ m_writer->emit(entryPointName);
+ m_writer->emit("\", \"");
+ m_writer->emit(moduleName);
+ m_writer->emit("\");");
m_writer->emit("\n\tgfx_TransientResourceHeap_0* transientHeap = buildTransientHeap_0(device);");
m_writer->emit("\n\tgfx_PipelineState_0* pipelineState = ");
m_writer->emit("buildPipelineState_0(device, shaderProgram);");
diff --git a/source/slang/slang-ir-insts.h b/source/slang/slang-ir-insts.h
index 049801db1..36ffcbbaf 100644
--- a/source/slang/slang-ir-insts.h
+++ b/source/slang/slang-ir-insts.h
@@ -360,6 +360,7 @@ struct IREntryPointDecoration : IRDecoration
Profile getProfile() { return Profile(Profile::RawVal(getIntVal(getProfileInst()))); }
IRStringLit* getName() { return cast<IRStringLit>(getOperand(1)); }
+ IRStringLit* getModuleName() { return cast<IRStringLit>(getOperand(2)); }
};
struct IRGeometryInputPrimitiveTypeDecoration: IRDecoration
@@ -2623,9 +2624,10 @@ struct IRBuilder
addDecoration(value, kIROp_ExportDecoration, getStringValue(mangledName));
}
- void addEntryPointDecoration(IRInst* value, Profile profile, UnownedStringSlice const& name)
+ void addEntryPointDecoration(IRInst* value, Profile profile, UnownedStringSlice const& name, UnownedStringSlice const& moduleName)
{
- addDecoration(value, kIROp_EntryPointDecoration, getIntValue(getIntType(), profile.raw), getStringValue(name));
+ IRInst* operands[] = { getIntValue(getIntType(), profile.raw), getStringValue(name), getStringValue(moduleName) };
+ addDecoration(value, kIROp_EntryPointDecoration, operands, SLANG_COUNT_OF(operands));
}
void addKeepAliveDecoration(IRInst* value)
diff --git a/source/slang/slang-lower-to-ir.cpp b/source/slang/slang-lower-to-ir.cpp
index cde9fcc70..2c63520b6 100644
--- a/source/slang/slang-lower-to-ir.cpp
+++ b/source/slang/slang-lower-to-ir.cpp
@@ -7806,7 +7806,8 @@ LoweredValInfo emitDeclRef(
static void lowerFrontEndEntryPointToIR(
IRGenContext* context,
- EntryPoint* entryPoint)
+ EntryPoint* entryPoint,
+ String moduleName)
{
// TODO: We should emit an entry point as a dedicated IR function
// (distinct from the IR function used if it were called normally),
@@ -7837,7 +7838,7 @@ static void lowerFrontEndEntryPointToIR(
{
Name* entryPointName = entryPoint->getFuncDecl()->getName();
- builder->addEntryPointDecoration(instToDecorate, entryPoint->getProfile(), entryPointName->text.getUnownedSlice());
+ builder->addEntryPointDecoration(instToDecorate, entryPoint->getProfile(), entryPointName->text.getUnownedSlice(), moduleName.getUnownedSlice());
}
// Go through the entry point parameters creating decorations from layout as appropriate
@@ -8000,7 +8001,11 @@ IRModule* generateIRForTranslationUnit(
// in case they require special handling.
for (auto entryPoint : translationUnit->getEntryPoints())
{
- lowerFrontEndEntryPointToIR(context, entryPoint);
+ List<SourceFile*> sources = translationUnit->getSourceFiles();
+ SourceFile* source = sources.getFirst();
+ PathInfo pInfo = source->getPathInfo();
+ String path = pInfo.getMostUniqueIdentity();
+ lowerFrontEndEntryPointToIR(context, entryPoint, Path::getFileNameWithoutExt(path));
}
//
diff --git a/tests/ir/string-literal.slang.expected b/tests/ir/string-literal.slang.expected
index 91a6ccec2..9ebf8b78b 100644
--- a/tests/ir/string-literal.slang.expected
+++ b/tests/ir/string-literal.slang.expected
@@ -1,7 +1,7 @@
result code = 0
standard error = {
### LOWER-TO-IR:
-[entryPoint(6 : Int, "main")]
+[entryPoint(6 : Int, "main", "string-literal")]
[numThreads(1 : Int, 1 : Int, 1 : Int)]
[export("_S3tu04mainp1puV")]
[nameHint("main")]