aboutsummaryrefslogtreecommitdiffstatsci
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2019-08-29 03:10:20 +0200
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2019-08-29 03:10:20 +0200
commitfaac99343a2c11711442f6ab5275b7983bd9370d (patch)
treebae7047f6f4df8a9815893d91865bec85eaa0565
parentc6a4a1dfae50d83edf0050aa92dbddda625aa3e2 (diff)
readme
-rw-r--r--README.md20
-rw-r--r--SpirVTasks/README.md57
-rw-r--r--SpirVTasks/SpirVTasks.csproj11
-rw-r--r--VK/Utils.cs4
-rw-r--r--vk.net.sln190
5 files changed, 172 insertions, 110 deletions
diff --git a/README.md b/README.md
index d6a0c6c..0e5d1fd 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
<h1 align="center">
- C# Vulkan Libraries
+ Vulkan in C#
<br>
<p align="center">
<a href="https://www.paypal.me/GrandTetraSoftware">
@@ -7,12 +7,11 @@
</a>
</p>
</h1>
-
-# vk.net
+# Vulkan net low-level bindings.
<a href="https://www.nuget.org/packages/Vulkan"><img src="https://buildstats.info/nuget/Vulkan"></a>
-Autogenerated low level Vulkan c# binding. This project starts as a fork of the work of https://github.com/mellinoe. I made a new generator limiting the number of overrides and trying to avoid use of unsafe raw pointers.
-The nuget package is available under the name **Vulkan**.
+Autogenerated low level Vulkan c# binding derived from the work of https://github.com/mellinoe. The nuget package is available under the name **Vulkan**.
+
<p align="center">
<a href="https://github.com/jpbruyere/vk.net/blob/master/samples/pbr/screenshot.png">
<kbd><img src="https://raw.githubusercontent.com/jpbruyere/vk.net/master/samples/pbr/screenshot.png" height="300"></kbd>
@@ -20,12 +19,10 @@ The nuget package is available under the name **Vulkan**.
<br>Port of the gltfPBR from Sacha Willems</br>
</p>
-# CVKL
+# CVKL - C# VulKan Library
<a href="https://www.nuget.org/packages/CVKL"><img src="https://buildstats.info/nuget/CVKL"></a>
-The second project included in this repository is a set of classes encapsulating vulkan objects with `IDispose` model and **reference counting**. [GLFW](https://www.glfw.org/) handles the windowing system.
-
-Developping exclusively on linux, I would be glad to have some feedback from window experiences.
+High level classes encapsulating vulkan objects with `IDispose` model and **reference counting**. [GLFW](https://www.glfw.org/) handles the windowing system.
### Requirements
- [GLFW](https://www.glfw.org/)
@@ -38,10 +35,12 @@ Developping exclusively on linux, I would be glad to have some feedback from win
- physicaly based rendering, direct and deferred
- glTF 2.0
- ktx image loading.
+- Memory pools
### VkWindow class
-To create a new vulkan application, derrive your application from `VkWindow`.
+To create a new vulkan application, derrive your application from `VkWindow`. Validation and
+debug reports may be activated with the static Fields of the `Instance` class.
```csharp
class Program : VkWindow {
@@ -54,6 +53,7 @@ class Program : VkWindow {
}
}
```
+
### Enabling features
Override the `configureEnabledFeatures` method of `VkWindow` to enable features.
diff --git a/SpirVTasks/README.md b/SpirVTasks/README.md
new file mode 100644
index 0000000..1935054
--- /dev/null
+++ b/SpirVTasks/README.md
@@ -0,0 +1,57 @@
+<h1 align="center">
+ SpirVTasks MSBuild add-on
+ <br>
+<p align="center">
+ <a href="https://www.nuget.org/packages/SpirVTasks">
+ <img src="https://buildstats.info/nuget/SpirVTasks">
+ </a>
+ <a href="https://www.paypal.me/GrandTetraSoftware">
+ <img src="https://img.shields.io/badge/Donate-PayPal-green.svg">
+ </a>
+</p>
+</h1>
+
+SpirVTasks nuget package add SpirV compilation support to msbuild project. Resulting `.spv`
+files will be embedded with the resource ID = ProjectName.file.ext.spv.
+
+Add glsl files to your project with the **`GLSLShader`** tag.
+
+```xml
+<ItemGroup>
+ <GLSLShader Include="shaders\*.frag;shaders\*.vert;shaders\*.comp;shaders\*.geom" />
+</ItemGroup>
+```
+
+The add-on will search for **glslc** executable with the **VULKAN_SDK** or **PATH** environments variables.
+You may also point to glslc with the **`SpirVglslcPath`** property (>= 0.1.7), but if the property is set.
+
+```xml
+<PropertyGroup>
+ <SpirVglslcPath>bin\glslc.exe</SpirVglslcPath>
+</PropertyGroup>
+```
+
+I've added an **include** mechanism for glsl, file are searched from the location of the current parsed file,
+then in the **`SpirVAdditionalIncludeDirectories`** directories property.
+
+```xml
+<PropertyGroup>
+ <SpirVAdditionalIncludeDirectories>$(MSBuildThisFileDirectory)common\shaders</SpirVAdditionalIncludeDirectories>
+</PropertyGroup>
+```
+
+```glsl
+#include <preamble.inc>
+
+layout (location = 0) in vec3 inColor;
+layout (location = 0) out vec4 outFragColor;
+
+void main()
+{
+ outFragColor = vec4(inColor, 1.0);
+}
+```
+
+TODO:
+
+- Error source file and line with included files.
diff --git a/SpirVTasks/SpirVTasks.csproj b/SpirVTasks/SpirVTasks.csproj
index ac00130..5febb8d 100644
--- a/SpirVTasks/SpirVTasks.csproj
+++ b/SpirVTasks/SpirVTasks.csproj
@@ -2,20 +2,23 @@
<PropertyGroup>
<TargetFrameworks>net471;netstandard2.0</TargetFrameworks>
<AssemblyVersion>0.1.6</AssemblyVersion>
+ <Description>MSBuild addon to compile and embed spirV shaders</Description>
<PackageId>SpirVTasks</PackageId>
- <PackageTags>msbuild vulkan spirv glsl addons</PackageTags>
+ <PackageTags>vulkan msbuild spirv glsl addons</PackageTags>
<PackageVersion>$(AssemblyVersion)-beta</PackageVersion>
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
<PackageRequireLicenseAcceptance>False</PackageRequireLicenseAcceptance>
- <PackageProjectUrl>https://github.com/jpbruyere/vk.net/blob/master/README.md</PackageProjectUrl>
+ <PackageProjectUrl>https://github.com/jpbruyere/vk.net/blob/master/SpirVTasks/README.md</PackageProjectUrl>
<License>MIT</License>
<Authors>Jean-Philippe Bruyère</Authors>
- <IncludeDefaultNoneItems>false</IncludeDefaultNoneItems>
-
+ <OutputPath>$(SolutionDir)build\$(Configuration)\</OutputPath>
+
+ <IncludeDefaultNoneItems>false</IncludeDefaultNoneItems>
<EnableDefaultContentItems>false</EnableDefaultContentItems>
<EnableDefaultNoneItems>false</EnableDefaultNoneItems>
<EnableDefaultCompileItems>true</EnableDefaultCompileItems>
+
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="16.0.461" />
diff --git a/VK/Utils.cs b/VK/Utils.cs
index e81eb2b..ab6caa3 100644
--- a/VK/Utils.cs
+++ b/VK/Utils.cs
@@ -33,7 +33,7 @@ namespace VK {
GCHandle hnd = GCHandle.Alloc (n, GCHandleType.Pinned);
IntPtr del = Vk.vkGetInstanceProcAddr (inst, hnd.AddrOfPinnedObject ());
if (del == IntPtr.Zero)
- Console.WriteLine ("instance function pointer not found for " + name);
+ System.Diagnostics.Debug.WriteLine ("instance function pointer not found for " + name);
hnd.Free ();
return del;
}
@@ -45,7 +45,7 @@ namespace VK {
GCHandle hnd = GCHandle.Alloc (n, GCHandleType.Pinned);
IntPtr del = Vk.vkGetDeviceProcAddr (dev, hnd.AddrOfPinnedObject ());
if (del == IntPtr.Zero)
- Console.WriteLine ("device function pointer not found for " + name);
+ System.Diagnostics.Debug.WriteLine ("device function pointer not found for " + name);
else
ptr = del;
hnd.Free ();
diff --git a/vk.net.sln b/vk.net.sln
index 9925e41..0759ab5 100644
--- a/vk.net.sln
+++ b/vk.net.sln
@@ -3,62 +3,46 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{A2A2849A-0032-4AA8-BC0E-82C69D7DE354}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vk.generator", "vk.generator\vk.generator.csproj", "{87AC7BE1-143E-4FF4-91F8-981B1CAAF1DD}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vk.rewrite", "vk.rewrite\vk.rewrite.csproj", "{F41EA96F-A9F7-4E85-B2EE-5757C5FAD00D}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vulkan", "VK\vulkan.csproj", "{1603D809-D9C4-4EE5-B921-B053CE22E068}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CVKL", "vke\CVKL.csproj", "{9E12DFE6-7DC7-4BF2-8077-42DDC69FD0A1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SpirVTasks", "SpirVTasks\SpirVTasks.csproj", "{F72F73E4-86CC-4F56-B004-BCC4BF0AF30B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Triangle", "samples\Triangle\Triangle.csproj", "{3CFF99D3-8C0E-4B37-9146-9A7ED9D28CAA}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "deferred", "samples\deferred\deferred.csproj", "{E61D0F9F-734E-43B3-B077-D54C1DED7021}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "deferred", "samples\deferred\deferred.csproj", "{BA44E304-0A97-4949-B672-0CD70AD21178}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "hdr", "samples\hdr\hdr.csproj", "{A258C8F7-2DA8-40C6-9D2F-70DF6D2E73BB}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "pbr", "samples\pbr\pbr.csproj", "{BA549E32-CC14-47B4-9E3E-6C86F9474A15}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "pbr", "samples\pbr\pbr.csproj", "{6C06AD14-6170-476A-9446-585D113E401A}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Textured", "samples\Textured\Textured.csproj", "{41484D20-BBC6-484D-BD2D-BDE384304347}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Textured", "samples\Textured\Textured.csproj", "{91B415CF-2DFE-481D-90DF-6D7AABE2D747}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TexturedCube", "samples\TexturedCube\TexturedCube.csproj", "{C7188E6F-DB14-4F01-81F4-52E3159D33CF}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TexturedCube", "samples\TexturedCube\TexturedCube.csproj", "{E3F46936-9586-4E14-A876-95A031C2A178}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Model", "samples\Model\Model.csproj", "{019EDFD7-7700-4513-A1DF-74F882463E2A}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "datas", "samples\datas\datas.csproj", "{0819E729-64D0-4D96-B7A7-FFDE86639977}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "compute", "samples\compute\compute.csproj", "{CB21E2C4-C56E-49AE-9423-FCE2E75DEA0A}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "compute", "samples\compute\compute.csproj", "{FAA57EFA-275C-44D5-9008-2F67E79B2C07}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vk.generator", "vk.generator\vk.generator.csproj", "{B105512C-9461-4802-B299-A6E7A29CDAEE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vk.rewrite", "vk.rewrite\vk.rewrite.csproj", "{5EC0F6C6-74C9-4509-8AC8-FAE3574AF5C7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vulkan", "VK\vulkan.csproj", "{37D01BE5-5FE2-4742-BD5B-5D2C25FCF146}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "datas", "samples\datas\datas.csproj", "{0819E729-64D0-4D96-B7A7-FFDE86639977}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Model", "samples\Model\Model.csproj", "{BB1DC113-9594-43C5-AEC2-81A773AC415B}"
+Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "hdr", "samples\hdr\hdr.csproj", "{32CB9C37-4037-4844-95A7-17BD9B49CDFA}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "tests", "samples\tests\tests.csproj", "{6F1AA09C-FFE2-45CC-AF39-CACA980D760B}"
+Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "tests", "samples\tests\tests.csproj", "{9DFD3F42-DFC8-4AC7-8DF7-1A87F9596C1B}"
EndProject
-Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "vkvg_tests", "samples\vkvg_tests\vkvg_tests.csproj", "{AE2E552F-D600-41DB-8FA2-7FD5C73D2C91}"
+Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "vkvg_tests", "samples\vkvg_tests\vkvg_tests.csproj", "{06769B6B-8270-4A53-BF05-11C2124AC7BB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
- temp|Any CPU = temp|Any CPU
DebugCrow|Any CPU = DebugCrow|Any CPU
BuildPackages|Any CPU = BuildPackages|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {87AC7BE1-143E-4FF4-91F8-981B1CAAF1DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {87AC7BE1-143E-4FF4-91F8-981B1CAAF1DD}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {87AC7BE1-143E-4FF4-91F8-981B1CAAF1DD}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
- {87AC7BE1-143E-4FF4-91F8-981B1CAAF1DD}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
- {87AC7BE1-143E-4FF4-91F8-981B1CAAF1DD}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
- {F41EA96F-A9F7-4E85-B2EE-5757C5FAD00D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {F41EA96F-A9F7-4E85-B2EE-5757C5FAD00D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {F41EA96F-A9F7-4E85-B2EE-5757C5FAD00D}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
- {F41EA96F-A9F7-4E85-B2EE-5757C5FAD00D}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
- {F41EA96F-A9F7-4E85-B2EE-5757C5FAD00D}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
- {1603D809-D9C4-4EE5-B921-B053CE22E068}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1603D809-D9C4-4EE5-B921-B053CE22E068}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1603D809-D9C4-4EE5-B921-B053CE22E068}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
- {1603D809-D9C4-4EE5-B921-B053CE22E068}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
- {1603D809-D9C4-4EE5-B921-B053CE22E068}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
{9E12DFE6-7DC7-4BF2-8077-42DDC69FD0A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9E12DFE6-7DC7-4BF2-8077-42DDC69FD0A1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9E12DFE6-7DC7-4BF2-8077-42DDC69FD0A1}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -78,76 +62,94 @@ Global
{3CFF99D3-8C0E-4B37-9146-9A7ED9D28CAA}.Release|Any CPU.Build.0 = Release|Any CPU
{3CFF99D3-8C0E-4B37-9146-9A7ED9D28CAA}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
{3CFF99D3-8C0E-4B37-9146-9A7ED9D28CAA}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU
- {E61D0F9F-734E-43B3-B077-D54C1DED7021}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E61D0F9F-734E-43B3-B077-D54C1DED7021}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E61D0F9F-734E-43B3-B077-D54C1DED7021}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E61D0F9F-734E-43B3-B077-D54C1DED7021}.Release|Any CPU.Build.0 = Release|Any CPU
- {E61D0F9F-734E-43B3-B077-D54C1DED7021}.DebugCrow|Any CPU.ActiveCfg = DebugCrow|Any CPU
- {E61D0F9F-734E-43B3-B077-D54C1DED7021}.DebugCrow|Any CPU.Build.0 = DebugCrow|Any CPU
- {E61D0F9F-734E-43B3-B077-D54C1DED7021}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU
- {A258C8F7-2DA8-40C6-9D2F-70DF6D2E73BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A258C8F7-2DA8-40C6-9D2F-70DF6D2E73BB}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A258C8F7-2DA8-40C6-9D2F-70DF6D2E73BB}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A258C8F7-2DA8-40C6-9D2F-70DF6D2E73BB}.Release|Any CPU.Build.0 = Release|Any CPU
- {A258C8F7-2DA8-40C6-9D2F-70DF6D2E73BB}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
- {A258C8F7-2DA8-40C6-9D2F-70DF6D2E73BB}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU
- {6C06AD14-6170-476A-9446-585D113E401A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {6C06AD14-6170-476A-9446-585D113E401A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {6C06AD14-6170-476A-9446-585D113E401A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6C06AD14-6170-476A-9446-585D113E401A}.Release|Any CPU.Build.0 = Release|Any CPU
- {6C06AD14-6170-476A-9446-585D113E401A}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
- {6C06AD14-6170-476A-9446-585D113E401A}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU
- {91B415CF-2DFE-481D-90DF-6D7AABE2D747}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {91B415CF-2DFE-481D-90DF-6D7AABE2D747}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {91B415CF-2DFE-481D-90DF-6D7AABE2D747}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {91B415CF-2DFE-481D-90DF-6D7AABE2D747}.Release|Any CPU.Build.0 = Release|Any CPU
- {91B415CF-2DFE-481D-90DF-6D7AABE2D747}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
- {91B415CF-2DFE-481D-90DF-6D7AABE2D747}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU
- {E3F46936-9586-4E14-A876-95A031C2A178}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E3F46936-9586-4E14-A876-95A031C2A178}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E3F46936-9586-4E14-A876-95A031C2A178}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E3F46936-9586-4E14-A876-95A031C2A178}.Release|Any CPU.Build.0 = Release|Any CPU
- {E3F46936-9586-4E14-A876-95A031C2A178}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
- {E3F46936-9586-4E14-A876-95A031C2A178}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU
+ {BA44E304-0A97-4949-B672-0CD70AD21178}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BA44E304-0A97-4949-B672-0CD70AD21178}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BA44E304-0A97-4949-B672-0CD70AD21178}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BA44E304-0A97-4949-B672-0CD70AD21178}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BA44E304-0A97-4949-B672-0CD70AD21178}.DebugCrow|Any CPU.ActiveCfg = DebugCrow|Any CPU
+ {BA44E304-0A97-4949-B672-0CD70AD21178}.DebugCrow|Any CPU.Build.0 = DebugCrow|Any CPU
+ {BA44E304-0A97-4949-B672-0CD70AD21178}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU
+ {BA549E32-CC14-47B4-9E3E-6C86F9474A15}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BA549E32-CC14-47B4-9E3E-6C86F9474A15}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BA549E32-CC14-47B4-9E3E-6C86F9474A15}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BA549E32-CC14-47B4-9E3E-6C86F9474A15}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BA549E32-CC14-47B4-9E3E-6C86F9474A15}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {BA549E32-CC14-47B4-9E3E-6C86F9474A15}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU
+ {41484D20-BBC6-484D-BD2D-BDE384304347}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {41484D20-BBC6-484D-BD2D-BDE384304347}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {41484D20-BBC6-484D-BD2D-BDE384304347}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {41484D20-BBC6-484D-BD2D-BDE384304347}.Release|Any CPU.Build.0 = Release|Any CPU
+ {41484D20-BBC6-484D-BD2D-BDE384304347}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {41484D20-BBC6-484D-BD2D-BDE384304347}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU
+ {C7188E6F-DB14-4F01-81F4-52E3159D33CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C7188E6F-DB14-4F01-81F4-52E3159D33CF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C7188E6F-DB14-4F01-81F4-52E3159D33CF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C7188E6F-DB14-4F01-81F4-52E3159D33CF}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C7188E6F-DB14-4F01-81F4-52E3159D33CF}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {C7188E6F-DB14-4F01-81F4-52E3159D33CF}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU
+ {019EDFD7-7700-4513-A1DF-74F882463E2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {019EDFD7-7700-4513-A1DF-74F882463E2A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {019EDFD7-7700-4513-A1DF-74F882463E2A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {019EDFD7-7700-4513-A1DF-74F882463E2A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {019EDFD7-7700-4513-A1DF-74F882463E2A}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {019EDFD7-7700-4513-A1DF-74F882463E2A}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU
+ {CB21E2C4-C56E-49AE-9423-FCE2E75DEA0A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CB21E2C4-C56E-49AE-9423-FCE2E75DEA0A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CB21E2C4-C56E-49AE-9423-FCE2E75DEA0A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CB21E2C4-C56E-49AE-9423-FCE2E75DEA0A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CB21E2C4-C56E-49AE-9423-FCE2E75DEA0A}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {CB21E2C4-C56E-49AE-9423-FCE2E75DEA0A}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU
+ {B105512C-9461-4802-B299-A6E7A29CDAEE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B105512C-9461-4802-B299-A6E7A29CDAEE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B105512C-9461-4802-B299-A6E7A29CDAEE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B105512C-9461-4802-B299-A6E7A29CDAEE}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {B105512C-9461-4802-B299-A6E7A29CDAEE}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
+ {B105512C-9461-4802-B299-A6E7A29CDAEE}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
+ {5EC0F6C6-74C9-4509-8AC8-FAE3574AF5C7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5EC0F6C6-74C9-4509-8AC8-FAE3574AF5C7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5EC0F6C6-74C9-4509-8AC8-FAE3574AF5C7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5EC0F6C6-74C9-4509-8AC8-FAE3574AF5C7}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {5EC0F6C6-74C9-4509-8AC8-FAE3574AF5C7}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
+ {5EC0F6C6-74C9-4509-8AC8-FAE3574AF5C7}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
+ {37D01BE5-5FE2-4742-BD5B-5D2C25FCF146}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {37D01BE5-5FE2-4742-BD5B-5D2C25FCF146}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {37D01BE5-5FE2-4742-BD5B-5D2C25FCF146}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {37D01BE5-5FE2-4742-BD5B-5D2C25FCF146}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {37D01BE5-5FE2-4742-BD5B-5D2C25FCF146}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
+ {37D01BE5-5FE2-4742-BD5B-5D2C25FCF146}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
{0819E729-64D0-4D96-B7A7-FFDE86639977}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0819E729-64D0-4D96-B7A7-FFDE86639977}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0819E729-64D0-4D96-B7A7-FFDE86639977}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0819E729-64D0-4D96-B7A7-FFDE86639977}.Release|Any CPU.Build.0 = Release|Any CPU
- {FAA57EFA-275C-44D5-9008-2F67E79B2C07}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {FAA57EFA-275C-44D5-9008-2F67E79B2C07}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {FAA57EFA-275C-44D5-9008-2F67E79B2C07}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {FAA57EFA-275C-44D5-9008-2F67E79B2C07}.Release|Any CPU.Build.0 = Release|Any CPU
- {FAA57EFA-275C-44D5-9008-2F67E79B2C07}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
- {FAA57EFA-275C-44D5-9008-2F67E79B2C07}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU
- {BB1DC113-9594-43C5-AEC2-81A773AC415B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {BB1DC113-9594-43C5-AEC2-81A773AC415B}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {BB1DC113-9594-43C5-AEC2-81A773AC415B}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {BB1DC113-9594-43C5-AEC2-81A773AC415B}.Release|Any CPU.Build.0 = Release|Any CPU
- {BB1DC113-9594-43C5-AEC2-81A773AC415B}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
- {BB1DC113-9594-43C5-AEC2-81A773AC415B}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU
- {6F1AA09C-FFE2-45CC-AF39-CACA980D760B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {6F1AA09C-FFE2-45CC-AF39-CACA980D760B}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {6F1AA09C-FFE2-45CC-AF39-CACA980D760B}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6F1AA09C-FFE2-45CC-AF39-CACA980D760B}.Release|Any CPU.Build.0 = Release|Any CPU
- {6F1AA09C-FFE2-45CC-AF39-CACA980D760B}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
- {6F1AA09C-FFE2-45CC-AF39-CACA980D760B}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU
- {AE2E552F-D600-41DB-8FA2-7FD5C73D2C91}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {AE2E552F-D600-41DB-8FA2-7FD5C73D2C91}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {AE2E552F-D600-41DB-8FA2-7FD5C73D2C91}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
- {AE2E552F-D600-41DB-8FA2-7FD5C73D2C91}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU
+ {32CB9C37-4037-4844-95A7-17BD9B49CDFA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {32CB9C37-4037-4844-95A7-17BD9B49CDFA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {32CB9C37-4037-4844-95A7-17BD9B49CDFA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {32CB9C37-4037-4844-95A7-17BD9B49CDFA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {32CB9C37-4037-4844-95A7-17BD9B49CDFA}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {32CB9C37-4037-4844-95A7-17BD9B49CDFA}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU
+ {9DFD3F42-DFC8-4AC7-8DF7-1A87F9596C1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9DFD3F42-DFC8-4AC7-8DF7-1A87F9596C1B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9DFD3F42-DFC8-4AC7-8DF7-1A87F9596C1B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9DFD3F42-DFC8-4AC7-8DF7-1A87F9596C1B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9DFD3F42-DFC8-4AC7-8DF7-1A87F9596C1B}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {9DFD3F42-DFC8-4AC7-8DF7-1A87F9596C1B}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU
+ {06769B6B-8270-4A53-BF05-11C2124AC7BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {06769B6B-8270-4A53-BF05-11C2124AC7BB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {06769B6B-8270-4A53-BF05-11C2124AC7BB}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {06769B6B-8270-4A53-BF05-11C2124AC7BB}.BuildPackages|Any CPU.ActiveCfg = Debug|Any CPU
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{3CFF99D3-8C0E-4B37-9146-9A7ED9D28CAA} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
- {E61D0F9F-734E-43B3-B077-D54C1DED7021} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
- {A258C8F7-2DA8-40C6-9D2F-70DF6D2E73BB} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
- {6C06AD14-6170-476A-9446-585D113E401A} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
- {91B415CF-2DFE-481D-90DF-6D7AABE2D747} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
- {E3F46936-9586-4E14-A876-95A031C2A178} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
+ {BA44E304-0A97-4949-B672-0CD70AD21178} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
+ {BA549E32-CC14-47B4-9E3E-6C86F9474A15} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
+ {41484D20-BBC6-484D-BD2D-BDE384304347} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
+ {C7188E6F-DB14-4F01-81F4-52E3159D33CF} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
+ {019EDFD7-7700-4513-A1DF-74F882463E2A} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
+ {CB21E2C4-C56E-49AE-9423-FCE2E75DEA0A} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
{0819E729-64D0-4D96-B7A7-FFDE86639977} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
- {FAA57EFA-275C-44D5-9008-2F67E79B2C07} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
- {BB1DC113-9594-43C5-AEC2-81A773AC415B} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
- {6F1AA09C-FFE2-45CC-AF39-CACA980D760B} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
- {AE2E552F-D600-41DB-8FA2-7FD5C73D2C91} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
+ {32CB9C37-4037-4844-95A7-17BD9B49CDFA} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
+ {9DFD3F42-DFC8-4AC7-8DF7-1A87F9596C1B} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
+ {06769B6B-8270-4A53-BF05-11C2124AC7BB} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
EndGlobalSection
GlobalSection(MonoDevelopProperties) = preSolution
Policies = $0