From ba081c89a60d6207a6534c2ad256945490196661 Mon Sep 17 00:00:00 2001 From: David Siher <32305650+dsiher@users.noreply.github.com> Date: Tue, 19 Oct 2021 16:07:29 -0400 Subject: 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 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 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 Date: Mon Oct 4 13:58:51 2021 -0700 Modified barrier API to accept multiple resources per call (#1959) Co-authored-by: Yong He commit 97bb82ebcdf8f1391b9d93b5a8d7b1dfc4e88e52 Author: jsmall-nvidia 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 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 Date: Thu Sep 30 19:48:47 2021 -0700 Fix aarch64 build on github (#1957) Co-authored-by: Yong He commit 122d701513e116856bd59c999221ce36a373d7db Author: Yong He 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 commit aa8f7b899b7b562b3d3c6e25c3da41569505e70c Author: Chad Engler Date: Wed Sep 29 13:02:47 2021 -0700 Fix ARM64 detection for MSVC (#1951) commit 6736b0c1c5fa3e89bc561eb7965a1a0d17af3466 Author: Yong He Date: Wed Sep 29 11:29:46 2021 -0700 Add ISession::loadModuleFromSource. (#1950) Co-authored-by: Yong He commit d8e452412e14a6a8ba137f2adcae13b398e5cecb Author: Yong He 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 commit cdf1b2c007fefdca128584d2a9f63dec3d350e16 Author: Yong He 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 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 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 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 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 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 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 * 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 --- .../heterogeneous-hello-world.vcxproj | 613 +++++++------- examples/heterogeneous-hello-world/main.cpp | 12 +- examples/heterogeneous-hello-world/shader.cpp | 37 +- examples/heterogeneous-hello-world/shader.slang | 2 +- prelude/slang-cpp-prelude.h | 2 +- premake5.lua | 9 +- slang.sln | 930 ++++++++++----------- source/slang/slang-emit-cpp.cpp | 49 +- source/slang/slang-ir-insts.h | 6 +- source/slang/slang-lower-to-ir.cpp | 11 +- tests/ir/string-literal.slang.expected | 2 +- 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 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Debug - ARM - - - Debug aarch64 - Win32 - - - Debug aarch64 - x64 - - - Debug aarch64 - ARM - - - Release - Win32 - - - Release - x64 - - - Release - ARM - - - Release aarch64 - Win32 - - - Release aarch64 - x64 - - - Release aarch64 - ARM - - - - {150CAA5A-0177-6A66-AA92-CFCB96DC2D49} - true - Win32Proj - heterogeneous-hello-world - - - - Application - true - Unicode - v142 - - - Application - true - Unicode - v142 - - - Application - true - Unicode - v142 - true - - - Application - false - Unicode - v142 - - - Application - false - Unicode - v142 - - - Application - false - Unicode - v142 - true - - - - - - - - - - - - - - - - - - - - - - - - - true - ..\..\..\bin\windows-x86\debug\ - ..\..\..\intermediate\windows-x86\debug\heterogeneous-hello-world\ - heterogeneous-hello-world - .exe - - - true - ..\..\..\bin\windows-x64\debug\ - ..\..\..\intermediate\windows-x64\debug\heterogeneous-hello-world\ - heterogeneous-hello-world - .exe - - - true - ..\..\..\bin\windows-aarch64\debug\ - ..\..\..\intermediate\windows-aarch64\debug\heterogeneous-hello-world\ - heterogeneous-hello-world - .exe - - - false - ..\..\..\bin\windows-x86\release\ - ..\..\..\intermediate\windows-x86\release\heterogeneous-hello-world\ - heterogeneous-hello-world - .exe - - - false - ..\..\..\bin\windows-x64\release\ - ..\..\..\intermediate\windows-x64\release\heterogeneous-hello-world\ - heterogeneous-hello-world - .exe - - - false - ..\..\..\bin\windows-aarch64\release\ - ..\..\..\intermediate\windows-aarch64\release\heterogeneous-hello-world\ - heterogeneous-hello-world - .exe - - - - NotUsing - Level3 - _DEBUG;%(PreprocessorDefinitions) - ..\..\..;..\..\..\tools;%(AdditionalIncludeDirectories) - EditAndContinue - Disabled - MultiThreadedDebug - - - Console - true - - - - - NotUsing - Level3 - _DEBUG;%(PreprocessorDefinitions) - ..\..\..;..\..\..\tools;%(AdditionalIncludeDirectories) - EditAndContinue - Disabled - MultiThreadedDebug - - - Console - true - - - - - NotUsing - Level3 - _DEBUG;%(PreprocessorDefinitions) - ..\..\..;..\..\..\tools;%(AdditionalIncludeDirectories) - ProgramDatabase - Disabled - MultiThreadedDebug - - - Console - true - - - - - NotUsing - Level3 - NDEBUG;%(PreprocessorDefinitions) - ..\..\..;..\..\..\tools;%(AdditionalIncludeDirectories) - Full - true - true - false - true - MultiThreaded - - - Console - true - true - - - - - NotUsing - Level3 - NDEBUG;%(PreprocessorDefinitions) - ..\..\..;..\..\..\tools;%(AdditionalIncludeDirectories) - Full - true - true - false - true - MultiThreaded - - - Console - true - true - - - - - NotUsing - Level3 - NDEBUG;%(PreprocessorDefinitions) - ..\..\..;..\..\..\tools;%(AdditionalIncludeDirectories) - Full - true - true - false - true - MultiThreaded - - - Console - true - true - - - - - - - - - - - - {37BED5B5-23FA-D81F-8C0C-F1167867813A} - - - {DB00DA62-0533-4AFD-B59F-A67D5B3A0808} - - - {222F7498-B40C-4F3F-A704-DDEB91A4484A} - - - {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B} - - - {3565FE5E-4FA3-11EB-AE93-0242AC130002} - - - {F9BE7957-8399-899E-0C49-E714FDDD4B65} - - - - - + + + + + Debug + Win32 + + + Debug + x64 + + + Debug + ARM + + + Debug aarch64 + Win32 + + + Debug aarch64 + x64 + + + Debug aarch64 + ARM + + + Release + Win32 + + + Release + x64 + + + Release + ARM + + + Release aarch64 + Win32 + + + Release aarch64 + x64 + + + Release aarch64 + ARM + + + + {150CAA5A-0177-6A66-AA92-CFCB96DC2D49} + true + Win32Proj + heterogeneous-hello-world + + + + Application + true + Unicode + v142 + + + Application + true + Unicode + v142 + + + Application + true + Unicode + v142 + true + + + Application + false + Unicode + v142 + + + Application + false + Unicode + v142 + + + Application + false + Unicode + v142 + true + + + + + + + + + + + + + + + + + + + + + + + + + true + ..\..\..\bin\windows-x86\debug\ + ..\..\..\intermediate\windows-x86\debug\heterogeneous-hello-world\ + heterogeneous-hello-world + .exe + + + true + ..\..\..\bin\windows-x64\debug\ + ..\..\..\intermediate\windows-x64\debug\heterogeneous-hello-world\ + heterogeneous-hello-world + .exe + + + true + ..\..\..\bin\windows-aarch64\debug\ + ..\..\..\intermediate\windows-aarch64\debug\heterogeneous-hello-world\ + heterogeneous-hello-world + .exe + + + false + ..\..\..\bin\windows-x86\release\ + ..\..\..\intermediate\windows-x86\release\heterogeneous-hello-world\ + heterogeneous-hello-world + .exe + + + false + ..\..\..\bin\windows-x64\release\ + ..\..\..\intermediate\windows-x64\release\heterogeneous-hello-world\ + heterogeneous-hello-world + .exe + + + false + ..\..\..\bin\windows-aarch64\release\ + ..\..\..\intermediate\windows-aarch64\release\heterogeneous-hello-world\ + heterogeneous-hello-world + .exe + + + + NotUsing + Level3 + _DEBUG;%(PreprocessorDefinitions) + ..\..\..;..\..\..\tools;%(AdditionalIncludeDirectories) + EditAndContinue + Disabled + MultiThreadedDebug + + + Console + true + + + "../../../bin/windows-x86/debug/slangc" "../../../examples/heterogeneous-hello-world/shader.slang" -o "../../../examples/heterogeneous-hello-world/shader.cpp" -heterogeneous -target cpp -target hlsl + Generating shader.cpp from shader.slang + + + + + NotUsing + Level3 + _DEBUG;%(PreprocessorDefinitions) + ..\..\..;..\..\..\tools;%(AdditionalIncludeDirectories) + EditAndContinue + Disabled + MultiThreadedDebug + + + Console + true + + + "../../../bin/windows-x64/debug/slangc" "../../../examples/heterogeneous-hello-world/shader.slang" -o "../../../examples/heterogeneous-hello-world/shader.cpp" -heterogeneous -target cpp -target hlsl + Generating shader.cpp from shader.slang + + + + + NotUsing + Level3 + _DEBUG;%(PreprocessorDefinitions) + ..\..\..;..\..\..\tools;%(AdditionalIncludeDirectories) + ProgramDatabase + Disabled + MultiThreadedDebug + + + Console + true + + + "../../../bin/windows-aarch64/debug/slangc" "../../../examples/heterogeneous-hello-world/shader.slang" -o "../../../examples/heterogeneous-hello-world/shader.cpp" -heterogeneous -target cpp -target hlsl + Generating shader.cpp from shader.slang + + + + + NotUsing + Level3 + NDEBUG;%(PreprocessorDefinitions) + ..\..\..;..\..\..\tools;%(AdditionalIncludeDirectories) + Full + true + true + false + true + MultiThreaded + + + Console + true + true + + + "../../../bin/windows-x86/release/slangc" "../../../examples/heterogeneous-hello-world/shader.slang" -o "../../../examples/heterogeneous-hello-world/shader.cpp" -heterogeneous -target cpp -target hlsl + Generating shader.cpp from shader.slang + + + + + NotUsing + Level3 + NDEBUG;%(PreprocessorDefinitions) + ..\..\..;..\..\..\tools;%(AdditionalIncludeDirectories) + Full + true + true + false + true + MultiThreaded + + + Console + true + true + + + "../../../bin/windows-x64/release/slangc" "../../../examples/heterogeneous-hello-world/shader.slang" -o "../../../examples/heterogeneous-hello-world/shader.cpp" -heterogeneous -target cpp -target hlsl + Generating shader.cpp from shader.slang + + + + + NotUsing + Level3 + NDEBUG;%(PreprocessorDefinitions) + ..\..\..;..\..\..\tools;%(AdditionalIncludeDirectories) + Full + true + true + false + true + MultiThreaded + + + Console + true + true + + + "../../../bin/windows-aarch64/release/slangc" "../../../examples/heterogeneous-hello-world/shader.slang" -o "../../../examples/heterogeneous-hello-world/shader.cpp" -heterogeneous -target cpp -target hlsl + Generating shader.cpp from shader.slang + + + + + + + + + + + + {37BED5B5-23FA-D81F-8C0C-F1167867813A} + + + {DB00DA62-0533-4AFD-B59F-A67D5B3A0808} + + + {222F7498-B40C-4F3F-A704-DDEB91A4484A} + + + {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B} + + + {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7} + + + {3565FE5E-4FA3-11EB-AE93-0242AC130002} + + + {F9BE7957-8399-899E-0C49-E714FDDD4B65} + + + + + \ 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 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 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 make_VecU3(uint32_t a, uint32_t b, uint32_t c) return Vector{ 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 gridDims, RWStructuredBuffer 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 createDevice(); -Ptr loadShaderProgram(Ptr device); +Ptr loadShaderProgram(Ptr device, String entryPoint, String module); Ptr createStructuredBuffer( Ptr 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()) { 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(getOperand(1)); } + IRStringLit* getModuleName() { return cast(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 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")] -- cgit v1.2.3