]> O.S.I.I.S - jp/vke.net.git/commitdiff
save commit before switching os
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Sat, 30 May 2020 02:15:43 +0000 (04:15 +0200)
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Sat, 30 May 2020 02:15:43 +0000 (04:15 +0200)
12 files changed:
Directory.Build.props
addons/gltfLoader/glTFLoader.cs
addons/gltfLoader/gltfLoader.csproj
samples/TexturedCube/main.cs
samples/Triangle/Triangle.csproj
samples/Triangle/main.cs
samples/deferred/main.cs
vke.net.sln
vke/src/VkWindow.cs
vke/src/base/Image.cs
vke/src/base/PhysicalDevice.cs
vke/vke.csproj

index b6f81a71fb348b5762ddbe095f4b3414af3c0d92..b77bc6b5f5f3ed6c0f5b278ddf587577d7231843 100644 (file)
@@ -6,8 +6,17 @@
                <SpirVTasksPackageVersion>$(SpirVTasksReleaseVersion)-beta</SpirVTasksPackageVersion>
                <VkeReleaseVersion>0.1.20</VkeReleaseVersion>
                <VkePackageVersion>$(VkeReleaseVersion)-beta</VkePackageVersion>
-               
+               <UseStbSharp>true</UseStbSharp>
+               <UseMemoryPools>true</UseMemoryPools>
                <LangVersion>7.2</LangVersion>
 
        </PropertyGroup>
+       
+       <PropertyGroup Condition=" '$(UseMemoryPools)' == 'true'">
+               <DefineConstants>$(DefineConstants);MEMORY_POOLS</DefineConstants>
+       </PropertyGroup>
+       <PropertyGroup Condition=" '$(UseStbSharp)' == 'true'">
+               <DefineConstants>$(DefineConstants);STB_SHARP</DefineConstants>
+       </PropertyGroup>
+       
 </Project>
index 0725797b973d6be641a8929f049b5704fb06b874..ee4f940d7dece29e4793761a7996cfee949eaebb 100644 (file)
@@ -11,8 +11,7 @@ using GL = glTFLoader.Schema;
 using Vulkan;
 using System.Collections.Generic;
 using System.IO;
-
-
+using System.Linq;
 
 namespace vke.glTF {
        using static Vulkan.Utils;
@@ -516,7 +515,11 @@ namespace vke.glTF {
                                if (img.BufferView != null) {//load image from gltf buffer view
                                        GL.BufferView bv = gltf.BufferViews[(int)img.BufferView];
                                        ensureBufferIsLoaded (bv.Buffer);
-                                       vkimg = Image.Load (dev, transferQ, cmdPool, bufferHandles[bv.Buffer].AddrOfPinnedObject () + bv.ByteOffset, (ulong)bv.ByteLength);
+                                       if (Image.USE_STB_SHARP)
+                                               vkimg = Image.Load (dev, transferQ, cmdPool, loadedBuffers[bv.Buffer].Skip(bv.ByteOffset).Take(bv.ByteLength).ToArray());
+                                       else
+                                               vkimg = Image.Load (dev, transferQ, cmdPool, bufferHandles[bv.Buffer].AddrOfPinnedObject () + bv.ByteOffset, (ulong)bv.ByteLength);
+
                                } else if (img.Uri.StartsWith ("data:", StringComparison.Ordinal)) {//load base64 encoded image
                                        Debug.WriteLine ("loading embedded image {0} : {1}", img.Name, img.MimeType);
                                        vkimg = Image.Load (dev, transferQ, cmdPool, glTFLoader.loadDataUri (img));
@@ -606,7 +609,7 @@ namespace vke.glTF {
                }
 
 
-               #region IDisposable Support
+#region IDisposable Support
                private bool isDisposed = false; // Pour détecter les appels redondants
 
                protected virtual void Dispose (bool disposing) {
@@ -631,6 +634,6 @@ namespace vke.glTF {
                        Dispose (true);
                        GC.SuppressFinalize (this);
                }
-               #endregion
+#endregion
        }
 }
\ No newline at end of file
index 64da4326f9cf600dc175f71a84299ae022298191..9c83a86ef4650cbff3de447af4bbc6801684c397 100644 (file)
@@ -13,7 +13,7 @@
     <License>MIT</License>
     <PackageReleaseNotes></PackageReleaseNotes>
     <SynchReleaseVersion>false</SynchReleaseVersion>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>    
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>                
   </PropertyGroup>
   <ItemGroup>    
     <PackageReference Include="glTF2Loader" Version="1.1.3-alpha" />
index ec32a4cf1a9a23d3202013f632a3933c099cebca..c91c22ae3ef2c42d22427ceb13df019b7c57d536 100644 (file)
@@ -8,6 +8,7 @@ using Glfw;
 using vke;
 using Vulkan;
 using Buffer = vke.Buffer;
+using Image = vke.Image;
 
 namespace TextureCube {
        /// <summary>
index 0f86c8ac116c3c95af6e2a62ba9abe6c5587d419..1b81ff7008bbdcad78ab00ece0725f8eef035bc0 100644 (file)
@@ -1,6 +1,5 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>              
-    <IncludeDefaultNoneItems>false</IncludeDefaultNoneItems>
-               <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <IncludeDefaultNoneItems>false</IncludeDefaultNoneItems>           
   </PropertyGroup>  
 </Project>
index 0f1bd345c3efb73083b466d924181e4da3ae90a2..12007df7707bc2ea214826c4fbf9519529d057b7 100644 (file)
@@ -52,11 +52,9 @@ namespace Triangle {
                };
                ushort[] indices = new ushort[] { 0, 1, 2 };
 
-               protected override void initVulkan () {
+               protected override void initVulkan () {                 
                        base.initVulkan ();
 
-                       test ();
-
                        //first create the needed buffers
                        vbo = new HostBuffer<Vertex> (dev, VkBufferUsageFlags.VertexBuffer, vertices);
                        ibo = new HostBuffer<ushort> (dev, VkBufferUsageFlags.IndexBuffer, indices);
@@ -107,25 +105,6 @@ namespace Triangle {
                        cmds = cmdPool.AllocateCommandBuffer (swapChain.ImageCount);
                }
 
-               void test()
-               {
-                       if (Vk.vkEnumerateInstanceLayerProperties (out var count, IntPtr.Zero) != VkResult.Success) return;
-                       var sizeStruct = Marshal.SizeOf<VkLayerProperties> ();
-                       var ptrSupLayers = Marshal.AllocHGlobal (sizeStruct * (int)count);
-                       if (Vk.vkEnumerateInstanceLayerProperties (out count, ptrSupLayers) != VkResult.Success) return;
-                       VkLayerProperties[] result = new VkLayerProperties [count];
-                       var tmp = ptrSupLayers;
-                       for (var i = 0; i < count; i++) {
-                               result [i] = Marshal.PtrToStructure<VkLayerProperties> (tmp);
-                               tmp += sizeStruct;
-                       }
-                       Marshal.FreeHGlobal (ptrSupLayers);
-                       unsafe {
-                               foreach (VkLayerProperties p in result) 
-                                       Console.WriteLine ($"{p.layerName} ({p.specVersion}) : {p.description}");
-                       }
-               }
-
                //view update override, see base method for more informations.
                public override void UpdateView () {
                        mvp =
index 7cbc2e1c45602f747baff6f49ab6d2ad87ee195d..7cdcc8c03c6b47d328428e0078fcfb9931469cbb 100644 (file)
@@ -64,10 +64,8 @@ namespace deferred {
                        Utils.DataDirectory + "textures/uffizi_cube.ktx",
                };
                string[] modelPathes = {
-                               "/mnt/devel/vkPinball/data/models/pinball.gltf",
-                               "/mnt/devel/tests/FidelityFX-SSSR/sample/media/Chess/scene.gltf",
-                               "/mnt/devel/tests/FidelityFX-SSSR/sample/media/Chess/scene.bin",
-                               "/mnt/devel/pinball.net/data/test.glb",
+                               //"/mnt/devel/vkPinball/data/models/pinball.gltf",
+                               //"/mnt/devel/pinball.net/data/test.glb",
                                Utils.DataDirectory + "models/DamagedHelmet/glTF/DamagedHelmet.gltf",
                                //Utils.DataDirectory + "models/shadow.glb",
                                Utils.DataDirectory + "models/Hubble.glb",
@@ -75,7 +73,7 @@ namespace deferred {
                                Utils.DataDirectory + "models/ISS_stationary.glb",
                        };
 
-               int curModelIndex = 1;
+               int curModelIndex = 0;
                bool reloadModel;
                bool rebuildBuffers;
 
index 084c27ea8e1fe97c3ee1336dc05438f975abba06..38f81d5296a7368b243ec47796fbe3190f888781 100644 (file)
@@ -1,9 +1,10 @@
-
 Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SpirVTasks", "SpirVTasks\SpirVTasks.csproj", "{7B05B5A7-49E2-4D05-BEF8-734F70CDBF17}"
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.30104.148
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SpirVTasks", "SpirVTasks\SpirVTasks.csproj", "{7B05B5A7-49E2-4D05-BEF8-734F70CDBF17}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vke", "vke\vke.csproj", "{642726F4-0592-4846-8EAF-A5D1964C85A7}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "vke", "vke\vke.csproj", "{642726F4-0592-4846-8EAF-A5D1964C85A7}"
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "global", "global", "{7285454A-930F-4536-AB84-C076B44C0C80}"
        ProjectSection(SolutionItems) = preProject
@@ -16,216 +17,248 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "addons", "addons", "{4AA67A
                addons\Directory.Build.props = addons\Directory.Build.props
        EndProjectSection
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EnvironmentPipeline", "addons\EnvironmentPipeline\EnvironmentPipeline.csproj", "{F04C3F79-2E08-4D35-A804-43039DCB7F5E}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EnvironmentPipeline", "addons\EnvironmentPipeline\EnvironmentPipeline.csproj", "{F04C3F79-2E08-4D35-A804-43039DCB7F5E}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DistanceFieldFont", "addons\DistanceFieldFont\DistanceFieldFont.csproj", "{FEF3AF30-5B88-4D3C-8BD7-8734200E0D1E}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DistanceFieldFont", "addons\DistanceFieldFont\DistanceFieldFont.csproj", "{FEF3AF30-5B88-4D3C-8BD7-8734200E0D1E}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "gltfLoader", "addons\gltfLoader\gltfLoader.csproj", "{F3BBF67D-7E63-48F3-8156-ADC014D268BB}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "gltfLoader", "addons\gltfLoader\gltfLoader.csproj", "{F3BBF67D-7E63-48F3-8156-ADC014D268BB}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VkvgPipeline", "addons\VkvgPipeline\VkvgPipeline.csproj", "{611541A0-CE88-4A83-A6FF-3917971841C9}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VkvgPipeline", "addons\VkvgPipeline\VkvgPipeline.csproj", "{611541A0-CE88-4A83-A6FF-3917971841C9}"
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{16439374-B8DB-4643-8116-EB3358B49A12}"
        ProjectSection(SolutionItems) = preProject
                samples\Directory.Build.props = samples\Directory.Build.props
        EndProjectSection
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClearScreen", "samples\ClearScreen\ClearScreen.csproj", "{1D2A1968-8F04-4BE0-B03A-573F1F68AB66}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScreen", "samples\ClearScreen\ClearScreen.csproj", "{1D2A1968-8F04-4BE0-B03A-573F1F68AB66}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Triangle", "samples\Triangle\Triangle.csproj", "{124152F8-FAE6-4D4B-87B9-6074DD365E9B}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Triangle", "samples\Triangle\Triangle.csproj", "{124152F8-FAE6-4D4B-87B9-6074DD365E9B}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Textured", "samples\Textured\Textured.csproj", "{1B2DF710-E500-49E5-8802-EBA71A05E827}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Textured", "samples\Textured\Textured.csproj", "{1B2DF710-E500-49E5-8802-EBA71A05E827}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "compute", "samples\compute\compute.csproj", "{5000CDE2-99B9-47EA-B4D9-EA1631F0E14A}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "compute", "samples\compute\compute.csproj", "{5000CDE2-99B9-47EA-B4D9-EA1631F0E14A}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DistanceFieldFontTest", "samples\DistanceFieldFontTest\DistanceFieldFontTest.csproj", "{77437C6D-28B5-4798-96CA-68F987770D65}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DistanceFieldFontTest", "samples\DistanceFieldFontTest\DistanceFieldFontTest.csproj", "{77437C6D-28B5-4798-96CA-68F987770D65}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Model", "samples\Model\Model.csproj", "{A7D3FB7F-769B-4F36-9E3E-3FB71F24D306}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Model", "samples\Model\Model.csproj", "{A7D3FB7F-769B-4F36-9E3E-3FB71F24D306}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TexturedCube", "samples\TexturedCube\TexturedCube.csproj", "{8185163E-A67C-4C0E-8548-67E2A9F16309}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TexturedCube", "samples\TexturedCube\TexturedCube.csproj", "{8185163E-A67C-4C0E-8548-67E2A9F16309}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "deferred", "samples\deferred\deferred.csproj", "{D9A41382-444E-44ED-B638-3D8F06F2FBC2}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "deferred", "samples\deferred\deferred.csproj", "{D9A41382-444E-44ED-B638-3D8F06F2FBC2}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "pbr", "samples\pbr\pbr.csproj", "{7EB2430B-6BC0-4AE9-B1FA-57C3DB2AE1C5}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "pbr", "samples\pbr\pbr.csproj", "{7EB2430B-6BC0-4AE9-B1FA-57C3DB2AE1C5}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "glow", "samples\glow\glow.csproj", "{82947B19-1EFA-4DF9-8BB8-56B0B48F3FBE}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "glow", "samples\glow\glow.csproj", "{82947B19-1EFA-4DF9-8BB8-56B0B48F3FBE}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "crowWin", "samples\crowWin\crowWin.csproj", "{A05AAF6C-E925-4EF1-B051-A6DDA5BCB536}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "crowWin", "samples\crowWin\crowWin.csproj", "{A05AAF6C-E925-4EF1-B051-A6DDA5BCB536}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CrowWindow", "addons\CrowWindow\CrowWindow.csproj", "{5AE929DA-4EA2-4BD9-BA38-7258AA9D2E4D}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CrowWindow", "addons\CrowWindow\CrowWindow.csproj", "{5AE929DA-4EA2-4BD9-BA38-7258AA9D2E4D}"
 EndProject
 Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
+               BuildPackages|Any CPU = BuildPackages|Any CPU
                Debug|Any CPU = Debug|Any CPU
-               Release|Any CPU = Release|Any CPU
                DebugCrow|Any CPU = DebugCrow|Any CPU
+               Release|Any CPU = Release|Any CPU
                ReleaseSpirVTasks|Any CPU = ReleaseSpirVTasks|Any CPU
-               BuildPackages|Any CPU = BuildPackages|Any CPU
        EndGlobalSection
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
+               {7B05B5A7-49E2-4D05-BEF8-734F70CDBF17}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
+               {7B05B5A7-49E2-4D05-BEF8-734F70CDBF17}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
+               {7B05B5A7-49E2-4D05-BEF8-734F70CDBF17}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {7B05B5A7-49E2-4D05-BEF8-734F70CDBF17}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {7B05B5A7-49E2-4D05-BEF8-734F70CDBF17}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+               {7B05B5A7-49E2-4D05-BEF8-734F70CDBF17}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
+               {7B05B5A7-49E2-4D05-BEF8-734F70CDBF17}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {7B05B5A7-49E2-4D05-BEF8-734F70CDBF17}.Release|Any CPU.Build.0 = Release|Any CPU
+               {7B05B5A7-49E2-4D05-BEF8-734F70CDBF17}.ReleaseSpirVTasks|Any CPU.ActiveCfg = Release|Any CPU
+               {7B05B5A7-49E2-4D05-BEF8-734F70CDBF17}.ReleaseSpirVTasks|Any CPU.Build.0 = Release|Any CPU
+               {642726F4-0592-4846-8EAF-A5D1964C85A7}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
+               {642726F4-0592-4846-8EAF-A5D1964C85A7}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
                {642726F4-0592-4846-8EAF-A5D1964C85A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {642726F4-0592-4846-8EAF-A5D1964C85A7}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {642726F4-0592-4846-8EAF-A5D1964C85A7}.Release|Any CPU.Build.0 = Release|Any CPU
+               {642726F4-0592-4846-8EAF-A5D1964C85A7}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {642726F4-0592-4846-8EAF-A5D1964C85A7}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
                {642726F4-0592-4846-8EAF-A5D1964C85A7}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
-               {642726F4-0592-4846-8EAF-A5D1964C85A7}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {642726F4-0592-4846-8EAF-A5D1964C85A7}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
-               {642726F4-0592-4846-8EAF-A5D1964C85A7}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
+               {642726F4-0592-4846-8EAF-A5D1964C85A7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {642726F4-0592-4846-8EAF-A5D1964C85A7}.Release|Any CPU.Build.0 = Release|Any CPU
+               {642726F4-0592-4846-8EAF-A5D1964C85A7}.ReleaseSpirVTasks|Any CPU.ActiveCfg = Release|Any CPU
+               {642726F4-0592-4846-8EAF-A5D1964C85A7}.ReleaseSpirVTasks|Any CPU.Build.0 = Release|Any CPU
+               {F04C3F79-2E08-4D35-A804-43039DCB7F5E}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
+               {F04C3F79-2E08-4D35-A804-43039DCB7F5E}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
+               {F04C3F79-2E08-4D35-A804-43039DCB7F5E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {F04C3F79-2E08-4D35-A804-43039DCB7F5E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {F04C3F79-2E08-4D35-A804-43039DCB7F5E}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+               {F04C3F79-2E08-4D35-A804-43039DCB7F5E}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
+               {F04C3F79-2E08-4D35-A804-43039DCB7F5E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {F04C3F79-2E08-4D35-A804-43039DCB7F5E}.Release|Any CPU.Build.0 = Release|Any CPU
+               {F04C3F79-2E08-4D35-A804-43039DCB7F5E}.ReleaseSpirVTasks|Any CPU.ActiveCfg = Release|Any CPU
+               {F04C3F79-2E08-4D35-A804-43039DCB7F5E}.ReleaseSpirVTasks|Any CPU.Build.0 = Release|Any CPU
+               {FEF3AF30-5B88-4D3C-8BD7-8734200E0D1E}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
+               {FEF3AF30-5B88-4D3C-8BD7-8734200E0D1E}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
                {FEF3AF30-5B88-4D3C-8BD7-8734200E0D1E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {FEF3AF30-5B88-4D3C-8BD7-8734200E0D1E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {FEF3AF30-5B88-4D3C-8BD7-8734200E0D1E}.Release|Any CPU.Build.0 = Release|Any CPU
+               {FEF3AF30-5B88-4D3C-8BD7-8734200E0D1E}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {FEF3AF30-5B88-4D3C-8BD7-8734200E0D1E}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
                {FEF3AF30-5B88-4D3C-8BD7-8734200E0D1E}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
-               {FEF3AF30-5B88-4D3C-8BD7-8734200E0D1E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {FEF3AF30-5B88-4D3C-8BD7-8734200E0D1E}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
-               {FEF3AF30-5B88-4D3C-8BD7-8734200E0D1E}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
+               {FEF3AF30-5B88-4D3C-8BD7-8734200E0D1E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {FEF3AF30-5B88-4D3C-8BD7-8734200E0D1E}.Release|Any CPU.Build.0 = Release|Any CPU
+               {FEF3AF30-5B88-4D3C-8BD7-8734200E0D1E}.ReleaseSpirVTasks|Any CPU.ActiveCfg = Release|Any CPU
+               {FEF3AF30-5B88-4D3C-8BD7-8734200E0D1E}.ReleaseSpirVTasks|Any CPU.Build.0 = Release|Any CPU
+               {F3BBF67D-7E63-48F3-8156-ADC014D268BB}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
+               {F3BBF67D-7E63-48F3-8156-ADC014D268BB}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
                {F3BBF67D-7E63-48F3-8156-ADC014D268BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {F3BBF67D-7E63-48F3-8156-ADC014D268BB}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {F3BBF67D-7E63-48F3-8156-ADC014D268BB}.Release|Any CPU.Build.0 = Release|Any CPU
+               {F3BBF67D-7E63-48F3-8156-ADC014D268BB}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {F3BBF67D-7E63-48F3-8156-ADC014D268BB}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
                {F3BBF67D-7E63-48F3-8156-ADC014D268BB}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
-               {F3BBF67D-7E63-48F3-8156-ADC014D268BB}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {F3BBF67D-7E63-48F3-8156-ADC014D268BB}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
-               {F3BBF67D-7E63-48F3-8156-ADC014D268BB}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
+               {F3BBF67D-7E63-48F3-8156-ADC014D268BB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {F3BBF67D-7E63-48F3-8156-ADC014D268BB}.Release|Any CPU.Build.0 = Release|Any CPU
+               {F3BBF67D-7E63-48F3-8156-ADC014D268BB}.ReleaseSpirVTasks|Any CPU.ActiveCfg = Release|Any CPU
+               {F3BBF67D-7E63-48F3-8156-ADC014D268BB}.ReleaseSpirVTasks|Any CPU.Build.0 = Release|Any CPU
+               {611541A0-CE88-4A83-A6FF-3917971841C9}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
+               {611541A0-CE88-4A83-A6FF-3917971841C9}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
                {611541A0-CE88-4A83-A6FF-3917971841C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {611541A0-CE88-4A83-A6FF-3917971841C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {611541A0-CE88-4A83-A6FF-3917971841C9}.Release|Any CPU.Build.0 = Release|Any CPU
+               {611541A0-CE88-4A83-A6FF-3917971841C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {611541A0-CE88-4A83-A6FF-3917971841C9}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
                {611541A0-CE88-4A83-A6FF-3917971841C9}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
-               {611541A0-CE88-4A83-A6FF-3917971841C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {611541A0-CE88-4A83-A6FF-3917971841C9}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
-               {611541A0-CE88-4A83-A6FF-3917971841C9}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
+               {611541A0-CE88-4A83-A6FF-3917971841C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {611541A0-CE88-4A83-A6FF-3917971841C9}.Release|Any CPU.Build.0 = Release|Any CPU
+               {611541A0-CE88-4A83-A6FF-3917971841C9}.ReleaseSpirVTasks|Any CPU.ActiveCfg = Release|Any CPU
+               {611541A0-CE88-4A83-A6FF-3917971841C9}.ReleaseSpirVTasks|Any CPU.Build.0 = Release|Any CPU
+               {1D2A1968-8F04-4BE0-B03A-573F1F68AB66}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
+               {1D2A1968-8F04-4BE0-B03A-573F1F68AB66}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
+               {1D2A1968-8F04-4BE0-B03A-573F1F68AB66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {1D2A1968-8F04-4BE0-B03A-573F1F68AB66}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {1D2A1968-8F04-4BE0-B03A-573F1F68AB66}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+               {1D2A1968-8F04-4BE0-B03A-573F1F68AB66}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
+               {1D2A1968-8F04-4BE0-B03A-573F1F68AB66}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {1D2A1968-8F04-4BE0-B03A-573F1F68AB66}.Release|Any CPU.Build.0 = Release|Any CPU
+               {1D2A1968-8F04-4BE0-B03A-573F1F68AB66}.ReleaseSpirVTasks|Any CPU.ActiveCfg = Debug|Any CPU
+               {124152F8-FAE6-4D4B-87B9-6074DD365E9B}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
+               {124152F8-FAE6-4D4B-87B9-6074DD365E9B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {124152F8-FAE6-4D4B-87B9-6074DD365E9B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {124152F8-FAE6-4D4B-87B9-6074DD365E9B}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+               {124152F8-FAE6-4D4B-87B9-6074DD365E9B}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
+               {124152F8-FAE6-4D4B-87B9-6074DD365E9B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {124152F8-FAE6-4D4B-87B9-6074DD365E9B}.Release|Any CPU.Build.0 = Release|Any CPU
+               {124152F8-FAE6-4D4B-87B9-6074DD365E9B}.ReleaseSpirVTasks|Any CPU.ActiveCfg = Release|Any CPU
+               {124152F8-FAE6-4D4B-87B9-6074DD365E9B}.ReleaseSpirVTasks|Any CPU.Build.0 = Release|Any CPU
+               {1B2DF710-E500-49E5-8802-EBA71A05E827}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
+               {1B2DF710-E500-49E5-8802-EBA71A05E827}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {1B2DF710-E500-49E5-8802-EBA71A05E827}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {1B2DF710-E500-49E5-8802-EBA71A05E827}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+               {1B2DF710-E500-49E5-8802-EBA71A05E827}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
+               {1B2DF710-E500-49E5-8802-EBA71A05E827}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {1B2DF710-E500-49E5-8802-EBA71A05E827}.Release|Any CPU.Build.0 = Release|Any CPU
+               {1B2DF710-E500-49E5-8802-EBA71A05E827}.ReleaseSpirVTasks|Any CPU.ActiveCfg = Release|Any CPU
+               {1B2DF710-E500-49E5-8802-EBA71A05E827}.ReleaseSpirVTasks|Any CPU.Build.0 = Release|Any CPU
+               {5000CDE2-99B9-47EA-B4D9-EA1631F0E14A}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
                {5000CDE2-99B9-47EA-B4D9-EA1631F0E14A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {5000CDE2-99B9-47EA-B4D9-EA1631F0E14A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {5000CDE2-99B9-47EA-B4D9-EA1631F0E14A}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {5000CDE2-99B9-47EA-B4D9-EA1631F0E14A}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
                {5000CDE2-99B9-47EA-B4D9-EA1631F0E14A}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
-               {5000CDE2-99B9-47EA-B4D9-EA1631F0E14A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {5000CDE2-99B9-47EA-B4D9-EA1631F0E14A}.Release|Any CPU.ActiveCfg = Release|Any CPU
                {5000CDE2-99B9-47EA-B4D9-EA1631F0E14A}.Release|Any CPU.Build.0 = Release|Any CPU
-               {5000CDE2-99B9-47EA-B4D9-EA1631F0E14A}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
+               {5000CDE2-99B9-47EA-B4D9-EA1631F0E14A}.ReleaseSpirVTasks|Any CPU.ActiveCfg = Release|Any CPU
+               {5000CDE2-99B9-47EA-B4D9-EA1631F0E14A}.ReleaseSpirVTasks|Any CPU.Build.0 = Release|Any CPU
+               {77437C6D-28B5-4798-96CA-68F987770D65}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
                {77437C6D-28B5-4798-96CA-68F987770D65}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {77437C6D-28B5-4798-96CA-68F987770D65}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {77437C6D-28B5-4798-96CA-68F987770D65}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {77437C6D-28B5-4798-96CA-68F987770D65}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
                {77437C6D-28B5-4798-96CA-68F987770D65}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
-               {77437C6D-28B5-4798-96CA-68F987770D65}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {77437C6D-28B5-4798-96CA-68F987770D65}.Release|Any CPU.ActiveCfg = Release|Any CPU
                {77437C6D-28B5-4798-96CA-68F987770D65}.Release|Any CPU.Build.0 = Release|Any CPU
-               {77437C6D-28B5-4798-96CA-68F987770D65}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
+               {77437C6D-28B5-4798-96CA-68F987770D65}.ReleaseSpirVTasks|Any CPU.ActiveCfg = Release|Any CPU
+               {77437C6D-28B5-4798-96CA-68F987770D65}.ReleaseSpirVTasks|Any CPU.Build.0 = Release|Any CPU
+               {A7D3FB7F-769B-4F36-9E3E-3FB71F24D306}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
                {A7D3FB7F-769B-4F36-9E3E-3FB71F24D306}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {A7D3FB7F-769B-4F36-9E3E-3FB71F24D306}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {A7D3FB7F-769B-4F36-9E3E-3FB71F24D306}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {A7D3FB7F-769B-4F36-9E3E-3FB71F24D306}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
                {A7D3FB7F-769B-4F36-9E3E-3FB71F24D306}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
-               {A7D3FB7F-769B-4F36-9E3E-3FB71F24D306}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {A7D3FB7F-769B-4F36-9E3E-3FB71F24D306}.Release|Any CPU.ActiveCfg = Release|Any CPU
                {A7D3FB7F-769B-4F36-9E3E-3FB71F24D306}.Release|Any CPU.Build.0 = Release|Any CPU
-               {A7D3FB7F-769B-4F36-9E3E-3FB71F24D306}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
-               {1B2DF710-E500-49E5-8802-EBA71A05E827}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {1B2DF710-E500-49E5-8802-EBA71A05E827}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {1B2DF710-E500-49E5-8802-EBA71A05E827}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
-               {1B2DF710-E500-49E5-8802-EBA71A05E827}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
-               {1B2DF710-E500-49E5-8802-EBA71A05E827}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {1B2DF710-E500-49E5-8802-EBA71A05E827}.Release|Any CPU.Build.0 = Release|Any CPU
-               {1B2DF710-E500-49E5-8802-EBA71A05E827}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
+               {A7D3FB7F-769B-4F36-9E3E-3FB71F24D306}.ReleaseSpirVTasks|Any CPU.ActiveCfg = Release|Any CPU
+               {A7D3FB7F-769B-4F36-9E3E-3FB71F24D306}.ReleaseSpirVTasks|Any CPU.Build.0 = Release|Any CPU
+               {8185163E-A67C-4C0E-8548-67E2A9F16309}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
                {8185163E-A67C-4C0E-8548-67E2A9F16309}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {8185163E-A67C-4C0E-8548-67E2A9F16309}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {8185163E-A67C-4C0E-8548-67E2A9F16309}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {8185163E-A67C-4C0E-8548-67E2A9F16309}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
                {8185163E-A67C-4C0E-8548-67E2A9F16309}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
-               {8185163E-A67C-4C0E-8548-67E2A9F16309}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {8185163E-A67C-4C0E-8548-67E2A9F16309}.Release|Any CPU.ActiveCfg = Release|Any CPU
                {8185163E-A67C-4C0E-8548-67E2A9F16309}.Release|Any CPU.Build.0 = Release|Any CPU
-               {8185163E-A67C-4C0E-8548-67E2A9F16309}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
-               {7B05B5A7-49E2-4D05-BEF8-734F70CDBF17}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {7B05B5A7-49E2-4D05-BEF8-734F70CDBF17}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {7B05B5A7-49E2-4D05-BEF8-734F70CDBF17}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
-               {7B05B5A7-49E2-4D05-BEF8-734F70CDBF17}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
-               {7B05B5A7-49E2-4D05-BEF8-734F70CDBF17}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {7B05B5A7-49E2-4D05-BEF8-734F70CDBF17}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
-               {7B05B5A7-49E2-4D05-BEF8-734F70CDBF17}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
-               {7B05B5A7-49E2-4D05-BEF8-734F70CDBF17}.ReleaseSpirVTasks|Any CPU.ActiveCfg = Release|Any CPU
-               {7B05B5A7-49E2-4D05-BEF8-734F70CDBF17}.ReleaseSpirVTasks|Any CPU.Build.0 = Release|Any CPU
-               {7B05B5A7-49E2-4D05-BEF8-734F70CDBF17}.Release|Any CPU.Build.0 = Release|Any CPU
-               {F04C3F79-2E08-4D35-A804-43039DCB7F5E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {F04C3F79-2E08-4D35-A804-43039DCB7F5E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {F04C3F79-2E08-4D35-A804-43039DCB7F5E}.Release|Any CPU.Build.0 = Release|Any CPU
-               {F04C3F79-2E08-4D35-A804-43039DCB7F5E}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
-               {F04C3F79-2E08-4D35-A804-43039DCB7F5E}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
-               {F04C3F79-2E08-4D35-A804-43039DCB7F5E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {F04C3F79-2E08-4D35-A804-43039DCB7F5E}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
-               {F04C3F79-2E08-4D35-A804-43039DCB7F5E}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
+               {8185163E-A67C-4C0E-8548-67E2A9F16309}.ReleaseSpirVTasks|Any CPU.ActiveCfg = Release|Any CPU
+               {8185163E-A67C-4C0E-8548-67E2A9F16309}.ReleaseSpirVTasks|Any CPU.Build.0 = Release|Any CPU
+               {D9A41382-444E-44ED-B638-3D8F06F2FBC2}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
                {D9A41382-444E-44ED-B638-3D8F06F2FBC2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {D9A41382-444E-44ED-B638-3D8F06F2FBC2}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {D9A41382-444E-44ED-B638-3D8F06F2FBC2}.DebugCrow|Any CPU.ActiveCfg = DebugCrow|Any CPU
-               {D9A41382-444E-44ED-B638-3D8F06F2FBC2}.DebugCrow|Any CPU.Build.0 = DebugCrow|Any CPU
                {D9A41382-444E-44ED-B638-3D8F06F2FBC2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {D9A41382-444E-44ED-B638-3D8F06F2FBC2}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+               {D9A41382-444E-44ED-B638-3D8F06F2FBC2}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
+               {D9A41382-444E-44ED-B638-3D8F06F2FBC2}.Release|Any CPU.ActiveCfg = Release|Any CPU
                {D9A41382-444E-44ED-B638-3D8F06F2FBC2}.Release|Any CPU.Build.0 = Release|Any CPU
-               {D9A41382-444E-44ED-B638-3D8F06F2FBC2}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
-               {124152F8-FAE6-4D4B-87B9-6074DD365E9B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {124152F8-FAE6-4D4B-87B9-6074DD365E9B}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {124152F8-FAE6-4D4B-87B9-6074DD365E9B}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
-               {124152F8-FAE6-4D4B-87B9-6074DD365E9B}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
-               {124152F8-FAE6-4D4B-87B9-6074DD365E9B}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {124152F8-FAE6-4D4B-87B9-6074DD365E9B}.Release|Any CPU.Build.0 = Release|Any CPU
-               {124152F8-FAE6-4D4B-87B9-6074DD365E9B}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
+               {D9A41382-444E-44ED-B638-3D8F06F2FBC2}.ReleaseSpirVTasks|Any CPU.ActiveCfg = Release|Any CPU
+               {D9A41382-444E-44ED-B638-3D8F06F2FBC2}.ReleaseSpirVTasks|Any CPU.Build.0 = Release|Any CPU
+               {7EB2430B-6BC0-4AE9-B1FA-57C3DB2AE1C5}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
                {7EB2430B-6BC0-4AE9-B1FA-57C3DB2AE1C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
                {7EB2430B-6BC0-4AE9-B1FA-57C3DB2AE1C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {7EB2430B-6BC0-4AE9-B1FA-57C3DB2AE1C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
                {7EB2430B-6BC0-4AE9-B1FA-57C3DB2AE1C5}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
                {7EB2430B-6BC0-4AE9-B1FA-57C3DB2AE1C5}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
+               {7EB2430B-6BC0-4AE9-B1FA-57C3DB2AE1C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
                {7EB2430B-6BC0-4AE9-B1FA-57C3DB2AE1C5}.Release|Any CPU.Build.0 = Release|Any CPU
-               {7EB2430B-6BC0-4AE9-B1FA-57C3DB2AE1C5}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
-               {1D2A1968-8F04-4BE0-B03A-573F1F68AB66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {1D2A1968-8F04-4BE0-B03A-573F1F68AB66}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {1D2A1968-8F04-4BE0-B03A-573F1F68AB66}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {1D2A1968-8F04-4BE0-B03A-573F1F68AB66}.Release|Any CPU.Build.0 = Release|Any CPU
-               {1D2A1968-8F04-4BE0-B03A-573F1F68AB66}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
-               {1D2A1968-8F04-4BE0-B03A-573F1F68AB66}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
-               {1D2A1968-8F04-4BE0-B03A-573F1F68AB66}.ReleaseSpirVTasks|Any CPU.ActiveCfg = Debug|Any CPU
-               {1D2A1968-8F04-4BE0-B03A-573F1F68AB66}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
-               {1D2A1968-8F04-4BE0-B03A-573F1F68AB66}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
+               {7EB2430B-6BC0-4AE9-B1FA-57C3DB2AE1C5}.ReleaseSpirVTasks|Any CPU.ActiveCfg = Release|Any CPU
+               {7EB2430B-6BC0-4AE9-B1FA-57C3DB2AE1C5}.ReleaseSpirVTasks|Any CPU.Build.0 = Release|Any CPU
+               {82947B19-1EFA-4DF9-8BB8-56B0B48F3FBE}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
+               {82947B19-1EFA-4DF9-8BB8-56B0B48F3FBE}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
                {82947B19-1EFA-4DF9-8BB8-56B0B48F3FBE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
                {82947B19-1EFA-4DF9-8BB8-56B0B48F3FBE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {82947B19-1EFA-4DF9-8BB8-56B0B48F3FBE}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+               {82947B19-1EFA-4DF9-8BB8-56B0B48F3FBE}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
                {82947B19-1EFA-4DF9-8BB8-56B0B48F3FBE}.Release|Any CPU.ActiveCfg = Release|Any CPU
                {82947B19-1EFA-4DF9-8BB8-56B0B48F3FBE}.Release|Any CPU.Build.0 = Release|Any CPU
-               {82947B19-1EFA-4DF9-8BB8-56B0B48F3FBE}.DebugCrow|Any CPU.ActiveCfg = DebugCrow|Any CPU
-               {82947B19-1EFA-4DF9-8BB8-56B0B48F3FBE}.DebugCrow|Any CPU.Build.0 = DebugCrow|Any CPU
                {82947B19-1EFA-4DF9-8BB8-56B0B48F3FBE}.ReleaseSpirVTasks|Any CPU.ActiveCfg = Debug|Any CPU
                {82947B19-1EFA-4DF9-8BB8-56B0B48F3FBE}.ReleaseSpirVTasks|Any CPU.Build.0 = Debug|Any CPU
-               {82947B19-1EFA-4DF9-8BB8-56B0B48F3FBE}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
-               {82947B19-1EFA-4DF9-8BB8-56B0B48F3FBE}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
+               {A05AAF6C-E925-4EF1-B051-A6DDA5BCB536}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
+               {A05AAF6C-E925-4EF1-B051-A6DDA5BCB536}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
                {A05AAF6C-E925-4EF1-B051-A6DDA5BCB536}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
                {A05AAF6C-E925-4EF1-B051-A6DDA5BCB536}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {A05AAF6C-E925-4EF1-B051-A6DDA5BCB536}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {A05AAF6C-E925-4EF1-B051-A6DDA5BCB536}.Release|Any CPU.Build.0 = Release|Any CPU
                {A05AAF6C-E925-4EF1-B051-A6DDA5BCB536}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
                {A05AAF6C-E925-4EF1-B051-A6DDA5BCB536}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
+               {A05AAF6C-E925-4EF1-B051-A6DDA5BCB536}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {A05AAF6C-E925-4EF1-B051-A6DDA5BCB536}.Release|Any CPU.Build.0 = Release|Any CPU
                {A05AAF6C-E925-4EF1-B051-A6DDA5BCB536}.ReleaseSpirVTasks|Any CPU.ActiveCfg = Debug|Any CPU
                {A05AAF6C-E925-4EF1-B051-A6DDA5BCB536}.ReleaseSpirVTasks|Any CPU.Build.0 = Debug|Any CPU
-               {A05AAF6C-E925-4EF1-B051-A6DDA5BCB536}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
-               {A05AAF6C-E925-4EF1-B051-A6DDA5BCB536}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
+               {5AE929DA-4EA2-4BD9-BA38-7258AA9D2E4D}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
+               {5AE929DA-4EA2-4BD9-BA38-7258AA9D2E4D}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
                {5AE929DA-4EA2-4BD9-BA38-7258AA9D2E4D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
                {5AE929DA-4EA2-4BD9-BA38-7258AA9D2E4D}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {5AE929DA-4EA2-4BD9-BA38-7258AA9D2E4D}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {5AE929DA-4EA2-4BD9-BA38-7258AA9D2E4D}.Release|Any CPU.Build.0 = Release|Any CPU
                {5AE929DA-4EA2-4BD9-BA38-7258AA9D2E4D}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
                {5AE929DA-4EA2-4BD9-BA38-7258AA9D2E4D}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
+               {5AE929DA-4EA2-4BD9-BA38-7258AA9D2E4D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {5AE929DA-4EA2-4BD9-BA38-7258AA9D2E4D}.Release|Any CPU.Build.0 = Release|Any CPU
                {5AE929DA-4EA2-4BD9-BA38-7258AA9D2E4D}.ReleaseSpirVTasks|Any CPU.ActiveCfg = Debug|Any CPU
                {5AE929DA-4EA2-4BD9-BA38-7258AA9D2E4D}.ReleaseSpirVTasks|Any CPU.Build.0 = Debug|Any CPU
-               {5AE929DA-4EA2-4BD9-BA38-7258AA9D2E4D}.BuildPackages|Any CPU.ActiveCfg = Release|Any CPU
-               {5AE929DA-4EA2-4BD9-BA38-7258AA9D2E4D}.BuildPackages|Any CPU.Build.0 = Release|Any CPU
+       EndGlobalSection
+       GlobalSection(SolutionProperties) = preSolution
+               HideSolutionNode = FALSE
        EndGlobalSection
        GlobalSection(NestedProjects) = preSolution
+               {F04C3F79-2E08-4D35-A804-43039DCB7F5E} = {4AA67AB0-C331-4CB2-9C00-B74F5DE31658}
                {FEF3AF30-5B88-4D3C-8BD7-8734200E0D1E} = {4AA67AB0-C331-4CB2-9C00-B74F5DE31658}
                {F3BBF67D-7E63-48F3-8156-ADC014D268BB} = {4AA67AB0-C331-4CB2-9C00-B74F5DE31658}
                {611541A0-CE88-4A83-A6FF-3917971841C9} = {4AA67AB0-C331-4CB2-9C00-B74F5DE31658}
+               {1D2A1968-8F04-4BE0-B03A-573F1F68AB66} = {16439374-B8DB-4643-8116-EB3358B49A12}
+               {124152F8-FAE6-4D4B-87B9-6074DD365E9B} = {16439374-B8DB-4643-8116-EB3358B49A12}
+               {1B2DF710-E500-49E5-8802-EBA71A05E827} = {16439374-B8DB-4643-8116-EB3358B49A12}
                {5000CDE2-99B9-47EA-B4D9-EA1631F0E14A} = {16439374-B8DB-4643-8116-EB3358B49A12}
                {77437C6D-28B5-4798-96CA-68F987770D65} = {16439374-B8DB-4643-8116-EB3358B49A12}
                {A7D3FB7F-769B-4F36-9E3E-3FB71F24D306} = {16439374-B8DB-4643-8116-EB3358B49A12}
-               {1B2DF710-E500-49E5-8802-EBA71A05E827} = {16439374-B8DB-4643-8116-EB3358B49A12}
                {8185163E-A67C-4C0E-8548-67E2A9F16309} = {16439374-B8DB-4643-8116-EB3358B49A12}
-               {F04C3F79-2E08-4D35-A804-43039DCB7F5E} = {4AA67AB0-C331-4CB2-9C00-B74F5DE31658}
                {D9A41382-444E-44ED-B638-3D8F06F2FBC2} = {16439374-B8DB-4643-8116-EB3358B49A12}
-               {124152F8-FAE6-4D4B-87B9-6074DD365E9B} = {16439374-B8DB-4643-8116-EB3358B49A12}
                {7EB2430B-6BC0-4AE9-B1FA-57C3DB2AE1C5} = {16439374-B8DB-4643-8116-EB3358B49A12}
-               {1D2A1968-8F04-4BE0-B03A-573F1F68AB66} = {16439374-B8DB-4643-8116-EB3358B49A12}
                {82947B19-1EFA-4DF9-8BB8-56B0B48F3FBE} = {16439374-B8DB-4643-8116-EB3358B49A12}
                {A05AAF6C-E925-4EF1-B051-A6DDA5BCB536} = {16439374-B8DB-4643-8116-EB3358B49A12}
                {5AE929DA-4EA2-4BD9-BA38-7258AA9D2E4D} = {4AA67AB0-C331-4CB2-9C00-B74F5DE31658}
        EndGlobalSection
+       GlobalSection(ExtensibilityGlobals) = postSolution
+               SolutionGuid = {1360F94D-CF3C-4121-A8D7-E227F41668F1}
+       EndGlobalSection
        GlobalSection(MonoDevelopProperties) = preSolution
                Policies = $0
                $0.TextStylePolicy = $1
index bec6e60389afdccb87f6e674aab6ee5740e1d47d..54424d8944e3a16fb74ead48759f4184db6d6643 100644 (file)
@@ -85,7 +85,7 @@ namespace vke {
                /// <param name="_width">Width.</param>
                /// <param name="_height">Height.</param>
                /// <param name="vSync">Vertical synchronisation status for creating the swapchain.</param>
-               public VkWindow (string name = "VkWindow", uint _width = 800, uint _height = 600, bool vSync = false) {
+               public VkWindow (string name = "VkWindow", uint _width = 800, uint _height = 600, bool vSync = true) {
 
                        Width = _width;
                        Height = _height;
index 53faf822814b8541bf00267de71f7fa5d00a8e06..9b3905fe5d0c0b5b2dcdeb04f5ccae83a9b981dc 100644 (file)
@@ -14,6 +14,11 @@ namespace vke {
        /// such imported image will not be disposed with the sampler and the view.
        /// </summary>
        public class Image : Resource {
+#if STB_SHARP
+               public static bool USE_STB_SHARP = true;
+#else
+               public static bool USE_STB_SHARP = false;
+#endif
                /// <summary>Default format to use if not defined by constructor parameters.</summary>
                public static VkFormat DefaultTextureFormat = VkFormat.R8g8b8a8Unorm;
 
@@ -187,7 +192,20 @@ namespace vke {
                                usage |= VkImageUsageFlags.TransferDst;
                        if (generateMipmaps)
                                usage |= (VkImageUsageFlags.TransferSrc | VkImageUsageFlags.TransferDst);
-
+#if STB_SHARP
+                       
+                       StbImageSharp.ImageResult stbi = StbImageSharp.ImageResult.FromMemory (stream, StbImageSharp.ColorComponents.RedGreenBlueAlpha);
+                       uint mipLevels = generateMipmaps ? ComputeMipLevels (stbi.Width, stbi.Height) : 1;
+                       image = new byte [stbi.Data.Length];
+                       //rgba to argb for cairo.
+                       for (int i = 0; i < stbi.Data.Length; i += 4) {
+                               image [i] = stbi.Data[i + 2];
+                               image [i + 1] = stbi.Data [i + 1];
+                               image [i + 2] = stbi.Data [i];
+                               image [i + 3] = stbi.Data [i + 3];
+                       }
+                       Dimensions = new Size (stbi.Width, stbi.Height);
+#else
                        using (StbImage stbi = new StbImage (bitmap, bitmapByteCount)) {
                                uint mipLevels = generateMipmaps ? ComputeMipLevels (stbi.Width, stbi.Height) : 1;
 
@@ -198,6 +216,7 @@ namespace vke {
 
                                return img;
                        }
+#endif
                }
 
                /// <summary>
index ec9d08547a850f2e29ae6ec7589b5cc2a575b078..dee264e4235c15d620004f9ab8883ac9e9104ed6 100644 (file)
@@ -138,10 +138,13 @@ namespace vke {
                public VkPresentModeKHR[] GetSurfacePresentModes (VkSurfaceKHR surf) {
                        vkGetPhysicalDeviceSurfacePresentModesKHR (phy, surf, out uint count, IntPtr.Zero);
                        if (Type.GetType ("Mono.Runtime") == null) {
-                               int[] modes = new int[count];//this cause an error on mono
+                               uint[] modes = new uint[count];//this cause an error on mono
                                vkGetPhysicalDeviceSurfacePresentModesKHR (phy, surf, out count, modes.Pin ());
                                modes.Unpin ();
-                               return modes.Cast<VkPresentModeKHR> ().ToArray ();
+                               VkPresentModeKHR[] mds = new VkPresentModeKHR[count];
+                               for (int i = 0; i < count; i++)
+                                       mds[i] = (VkPresentModeKHR)modes[i];                            
+                               return mds;
                        } else {
                                VkPresentModeKHR[] modes = new VkPresentModeKHR[count];//enums not blittable on ms.Net
                                vkGetPhysicalDeviceSurfacePresentModesKHR (phy, surf, out count, modes.Pin ());
index 14199d96104515a1dc63539b8cd255e40eaf46ab..23fbace4312276f5688ce306e527b68c4579fdf7 100644 (file)
                <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
                
                <EnableDefaultNoneItems>false</EnableDefaultNoneItems>          
-    <LangVersion>7.2</LangVersion>
+               <LangVersion>7.2</LangVersion>
                <GenerateDocumentationFile>true</GenerateDocumentationFile>    
-               <NoWarn>$(NoWarn);1591</NoWarn>
+               <NoWarn>$(NoWarn);1591</NoWarn>         
                
                <RestoreAdditionalProjectSources Condition="Exists('$(SolutionDir)build\$(Configuration)\')">$(SolutionDir)build\$(Configuration)\</RestoreAdditionalProjectSources>
        </PropertyGroup>
-       
-       <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-               <WarningLevel>4</WarningLevel>
-               <DebugType>full</DebugType>
-               <Optimize>false</Optimize>
-               <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
-               <DefineConstants>_MEMORY_POOLS;NETSTANDARD;NETSTANDARD2_0;DEBUG</DefineConstants>
-       </PropertyGroup>
-       
-       <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-               <Optimize>true</Optimize>
-               <DefineConstants>_MEMORY_POOLS;NETSTANDARD;NETSTANDARD2_0</DefineConstants>
-       </PropertyGroup>
-       
+               
        <ItemGroup Condition="$(TargetFramework.StartsWith('netstandard'))">
                <PackageReference Include="System.Numerics.Vectors" Version="4.5.0" />          
        </ItemGroup>
                
+       <ItemGroup Condition=" '$(UseStbSharp)' == 'true'">
+               <PackageReference Include="StbImageSharp" Version="2.22.4" />
+       </ItemGroup>
+
        <ItemGroup>
                <PackageReference Include="SpirVTasks" Version="$(SpirVTasksPackageVersion)" />
                <PackageReference Include="Vulkan" Version="0.2.2.2-beta" />
                <PackageReference Include="shaderc.net" Version="0.1.0" />
-               <PackageReference Include="glfw-sharp" Version="0.2.5" />
+               <PackageReference Include="glfw-sharp" Version="0.2.6-beta" />
        </ItemGroup>
        <ItemGroup>
                <GLSLShader Include="shaders\**\*.frag;shaders\**\*.vert;shaders\**\*.comp;shaders\**\*.geom" />