diff options
| author | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2019-08-28 04:24:24 +0200 |
|---|---|---|
| committer | j-p <jp_bruyere@hotmail.com> | 2019-08-28 11:32:06 +0200 |
| commit | 804b9b713e0324aa93fc2f6545d0b8ad13deec38 (patch) | |
| tree | 909e2906b6d1e05cb8621f6e3ba5fd2f626a8c5a | |
| parent | 25c00961db9e5acf7c6a485f3d47aef4a3253dad (diff) | |
SpirVTask, data project to avoid multiple datas copies
| -rw-r--r-- | Directory.Build.targets | 32 | ||||
| -rw-r--r-- | SpirVTask/CompileGLSLTask.cs | 183 | ||||
| -rw-r--r-- | SpirVTask/SpirVTasks.csproj | 9 | ||||
| -rw-r--r-- | SpirVTasks.dll | bin | 0 -> 9728 bytes | |||
| -rw-r--r-- | samples/Directory.Build.props | 9 | ||||
| -rw-r--r-- | samples/Triangle/shaders/triangle.frag | 8 | ||||
| -rw-r--r-- | samples/common/shaders/preamble.inc | 4 | ||||
| -rw-r--r-- | samples/deferred/main.cs | 4 | ||||
| -rw-r--r-- | samples/deferred/shaders/bloom.comp | 26 | ||||
| -rw-r--r-- | spirv.targets | 27 | ||||
| -rw-r--r-- | vk.net.sln | 183 | ||||
| -rw-r--r-- | vke/CVKL.csproj | 13 |
12 files changed, 352 insertions, 146 deletions
diff --git a/Directory.Build.targets b/Directory.Build.targets new file mode 100644 index 0000000..08fd921 --- /dev/null +++ b/Directory.Build.targets @@ -0,0 +1,32 @@ +<Project> + <UsingTask AssemblyFile="$(MSBuildThisFileDirectory)SpirVTasks.dll" TaskName="SpirVTasks.CompileGLSLTask" /> + <ItemGroup> + <PropertyPageSchema Include="$(MSBuildThisFileDirectory)spirv.xml" /> + <AvailableItemName Include="GLSLShader"> + <Targets>DXC</Targets> + </AvailableItemName> + </ItemGroup> + + <Target Name="DataCopy"> + <Copy SourceFiles="@(Datas)" + DestinationFiles="@(Datas->'$(OutputPath)\data\%(RecursiveDir)%(Filename)%(Extension)')" /> + </Target> + + <Target Name="CompileShaders" BeforeTargets="BeforeBuild" Condition="'@(GLSLShader)'!=''" Outputs="@(CompiledShaders)"> + <CompileGLSLTask SourceFile="%(GLSLShader.Identity)" + AdditionalIncludeDirectories="$(MSBuildThisFileDirectory)samples\common\shaders" + TempDirectory="$(IntermediateOutputPath)" + DestinationFile="$(OutputPath)%(RelativeDir)%(Filename)%(Extension).spv" /> +<!-- <Exec Command="glslc %(GLSLShader.Identity) -o $(OutputPath)%(RelativeDir)%(Filename)%(Extension).spv" + ConsoleToMSBuild="true" EchoOff="true" Outputs="$(OutputPath)%(RelativeDir)%(Filename)%(Extension).spv"> + <Output TaskParameter="ConsoleOutput" PropertyName="OutputOfExec" /> + </Exec>--> + <!--<CreateItem + Include="$(OutputPath)%(GLSLShader.RelativeDir)%(Filename)%(Extension).spv"> + <Output + TaskParameter="Include" + ItemName="EmbeddedResource"/> + </CreateItem> + <Message Importance="High" Text="Embedding $(OutputPath)%(GLSLShader.RelativeDir)%(Filename)%(Extension).spv" />--> + </Target> +</Project> diff --git a/SpirVTask/CompileGLSLTask.cs b/SpirVTask/CompileGLSLTask.cs new file mode 100644 index 0000000..f0f4e2c --- /dev/null +++ b/SpirVTask/CompileGLSLTask.cs @@ -0,0 +1,183 @@ +using System; +using System.Diagnostics; +using System.IO; +using Microsoft.Build.Framework; + +namespace SpirVTasks { + + public class IncludeFileNotFound : FileNotFoundException { + public string SourceFile; + public int SourceLine; + + public IncludeFileNotFound(string srcFileName, int srcLine, string includeFileName) : + base ("include file not found", includeFileName) { + + SourceFile = srcFileName; + SourceLine = srcLine; + } + } + + public class CompileGLSLTask : Microsoft.Build.Utilities.Task { + + [Required] + public ITaskItem SourceFile { + get; + set; + } + [Required] + public ITaskItem TempDirectory { + get; + set; + } + public ITaskItem AdditionalIncludeDirectories { + get; + set; + } + [Required] + [Output] + public ITaskItem DestinationFile { + get; + set; + } + + volatile bool success; + + bool tryFindInclude (string include, out string incFile) { + if (!string.IsNullOrEmpty (AdditionalIncludeDirectories.ItemSpec)) { + foreach (string incDir in AdditionalIncludeDirectories.ItemSpec.Split (';', ',', '|')) { + incFile = Path.Combine (incDir, include); + if (File.Exists (incFile)) + return true; + } + } + incFile = ""; + return false; + } + + void build_source (string src, StreamWriter temp) { + using (StreamReader sr = new StreamReader (File.OpenRead (src))) { + int srcLine = 0; + while (!sr.EndOfStream) { + string line = sr.ReadLine (); + if (line.Trim ().StartsWith ("#include", StringComparison.Ordinal)) { + string include = line.Split ('"', '<', '>')[1]; + string incFile = Path.Combine (Path.GetDirectoryName (src), include); + + if (!File.Exists (incFile)) { + if (!tryFindInclude(include, out incFile)) + throw new IncludeFileNotFound (src, srcLine, include); + } + build_source (incFile, temp); + } else + temp.WriteLine (line); + srcLine++; + } + } + } + + + public override bool Execute () { + + success = true; + + string glslcPath = Path.Combine (Environment.GetEnvironmentVariable ("VULKAN_SDK"), "bin"); + glslcPath = Path.Combine (glslcPath, "glslc"); + + if (!File.Exists (glslcPath)) { + BuildErrorEventArgs err = new BuildErrorEventArgs ("execute", "VK001", BuildEngine.ProjectFileOfTaskNode, 0, 0, 0, 0, $"glslc command not found: {glslcPath}", "Set 'VULKAN_SDK' environment variable", "SpirVTasks"); + BuildEngine.LogErrorEvent (err); + return false; + } + + //foreach (string item in SourceFile.MetadataNames) { + // Log.LogMessage (MessageImportance.High, $"METADATA name: {item}"); + //} + + string tempFile = Path.Combine (TempDirectory.ItemSpec, SourceFile.ItemSpec); + if (File.Exists (tempFile)) + File.Delete (tempFile); + try { + Directory.CreateDirectory (Path.GetDirectoryName (tempFile)); + using (StreamWriter sw = new StreamWriter (File.OpenWrite(tempFile))) { + string src = SourceFile.ItemSpec; + build_source (SourceFile.ItemSpec, sw); + } + } catch (IncludeFileNotFound ex) { + BuildErrorEventArgs err = new BuildErrorEventArgs ("include", "ERR_INC", ex.SourceFile, ex.SourceLine, 0, 0, 0, $"include file not found: {ex.FileName}", "", "SpirVTasks"); + BuildEngine.LogErrorEvent (err); + return false; + }catch (Exception ex) { + BuildErrorEventArgs err = new BuildErrorEventArgs ("include", "ERR", SourceFile.ItemSpec, 0, 0, 0, 0, ex.ToString(), "", "SpirVTasks"); + BuildEngine.LogErrorEvent (err); + return false; + } + + Directory.CreateDirectory (Path.GetDirectoryName (DestinationFile.ItemSpec)); + + Process glslc = new Process(); + glslc.StartInfo.StandardOutputEncoding = System.Text.Encoding.ASCII; + glslc.StartInfo.StandardErrorEncoding = System.Text.Encoding.ASCII; + glslc.StartInfo.UseShellExecute = false; + glslc.StartInfo.RedirectStandardOutput = true; + glslc.StartInfo.RedirectStandardError = true; + glslc.StartInfo.FileName = glslcPath; + glslc.StartInfo.Arguments = $"{tempFile} -o {DestinationFile.ItemSpec}"; + glslc.StartInfo.CreateNoWindow = true; + + glslc.EnableRaisingEvents = true; + glslc.OutputDataReceived += Glslc_OutputDataReceived; + glslc.ErrorDataReceived += Glslc_ErrorDataReceived; + + glslc.Start (); + + glslc.BeginErrorReadLine (); + glslc.BeginOutputReadLine (); + + Log.LogMessage (MessageImportance.High, $"{SourceFile.ItemSpec} -> {DestinationFile.ItemSpec}"); + + glslc.WaitForExit (); + + return success; + } + + void Glslc_ErrorDataReceived (object sender, DataReceivedEventArgs e) { + if (e.Data == null) + return; + + if (string.Equals (e.Data, "(0)", StringComparison.Ordinal)) + return; + + string[] tmp = e.Data.Split (':'); + + + Log.LogMessage (MessageImportance.High, $"glslc: {e.Data}"); + + if (tmp.Length == 5) { + string srcFile = BuildEngine.ProjectFileOfTaskNode; + int line = int.Parse (tmp[1]); + + BuildErrorEventArgs err = new BuildErrorEventArgs ("compile", tmp[2], srcFile, line, 0, 0, 0, $"{tmp[3]} {tmp[4]}", "no help", "SpirVTasks"); + BuildEngine.LogErrorEvent (err); + success = false; + } else { + Log.LogMessage (MessageImportance.High, $"{e.Data}"); + //BuildErrorEventArgs err = new BuildErrorEventArgs ("unkn", "ERR0", BuildEngine.ProjectFileOfTaskNode, 0, 0, 0, 0, $"{e.Data}", "no help", "SpirVTasks"); + //BuildEngine.LogErrorEvent (err); + } + } + + + void Glslc_OutputDataReceived (object sender, DataReceivedEventArgs e) { + if (e.Data == null) + return; + if (string.Equals (e.Data, "(0)", StringComparison.Ordinal)) + return; + + Log.LogMessage (MessageImportance.High, $"data:{e.Data}"); + + BuildWarningEventArgs taskEvent = new BuildWarningEventArgs ("glslc", "0", BuildEngine.ProjectFileOfTaskNode, 0, 0, 0, 0, $"{e.Data}", "no help", "SpirVTasks"); + BuildEngine.LogWarningEvent (taskEvent); + } + + } +} diff --git a/SpirVTask/SpirVTasks.csproj b/SpirVTask/SpirVTasks.csproj new file mode 100644 index 0000000..24472ce --- /dev/null +++ b/SpirVTask/SpirVTasks.csproj @@ -0,0 +1,9 @@ +<Project Sdk="Microsoft.NET.Sdk"> + <PropertyGroup> + <OutputPath>$(SolutionDir)build</OutputPath> + <TargetFramework>net471</TargetFramework> + </PropertyGroup> + <ItemGroup> + <PackageReference Include="Microsoft.Build.Utilities.Core" Version="16.0.461" /> + </ItemGroup> +</Project> diff --git a/SpirVTasks.dll b/SpirVTasks.dll Binary files differnew file mode 100644 index 0000000..4dfbddd --- /dev/null +++ b/SpirVTasks.dll diff --git a/samples/Directory.Build.props b/samples/Directory.Build.props index 20c3076..67822eb 100644 --- a/samples/Directory.Build.props +++ b/samples/Directory.Build.props @@ -11,7 +11,8 @@ <OutputPath>$(SolutionDir)build\$(Configuration)\</OutputPath> <OutputType>Exe</OutputType> - <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <IncludeDefaultNoneItems>false</IncludeDefaultNoneItems> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> @@ -34,11 +35,7 @@ </ItemGroup> <ItemGroup> - <GLSLShader Include="shaders\**\*.frag;shaders\**\*.vert;shaders\**\*.comp;shaders\**\*.geom" /> - <None Remove="shaders\**\*.frag;shaders\**\*.vert" /> - <Datas Include="..\data\**\*.*"> - <Link>data\%(RecursiveDir)%(Filename)%(Extension)</Link> - </Datas> + <GLSLShader Include="shaders\**\*.frag;shaders\**\*.vert;shaders\**\*.comp;shaders\**\*.geom" /> </ItemGroup> <Import Project="$(RootDirectory)spirv.targets" /> diff --git a/samples/Triangle/shaders/triangle.frag b/samples/Triangle/shaders/triangle.frag index 404919c..5ff09f5 100644 --- a/samples/Triangle/shaders/triangle.frag +++ b/samples/Triangle/shaders/triangle.frag @@ -1,13 +1,9 @@ -#version 450 - -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_420pack : enable +#include <preamble.inc> layout (location = 0) in vec3 inColor; - layout (location = 0) out vec4 outFragColor; void main() { - outFragColor = vec4(inColor, 1.0); + outFragColor = vec4(inColor, 1.0); }
\ No newline at end of file diff --git a/samples/common/shaders/preamble.inc b/samples/common/shaders/preamble.inc new file mode 100644 index 0000000..da434f8 --- /dev/null +++ b/samples/common/shaders/preamble.inc @@ -0,0 +1,4 @@ +#version 450 + +#extension GL_ARB_separate_shader_objects : enable +#extension GL_ARB_shading_language_420pack : enable diff --git a/samples/deferred/main.cs b/samples/deferred/main.cs index 17d8db1..8f59c11 100644 --- a/samples/deferred/main.cs +++ b/samples/deferred/main.cs @@ -18,7 +18,7 @@ namespace deferred { DeferredPbrRenderer.HDR_FORMAT = VkFormat.R16g16b16a16Sfloat; DeferredPbrRenderer.MRT_FORMAT = VkFormat.R32g32b32a32Sfloat; - PbrModelTexArray.TEXTURE_DIM = 1024; + PbrModelTexArray.TEXTURE_DIM = 512; using (Deferred vke = new Deferred ()) { vke.Run (); @@ -205,7 +205,7 @@ namespace deferred { CommandBuffer cmdPbr; CommandBuffer cmdBlur; VkSemaphore blurComplete; - const uint downSizing = 2; + const uint downSizing = 1; float finalDebug = -1.0f; void buildCommandBuffers () { diff --git a/samples/deferred/shaders/bloom.comp b/samples/deferred/shaders/bloom.comp index e97c794..e2b1318 100644 --- a/samples/deferred/shaders/bloom.comp +++ b/samples/deferred/shaders/bloom.comp @@ -47,22 +47,14 @@ void main(void) // Aspect ratio for vertical blur pass if (pc.dir == 1) ar = pc.texSize.y / pc.texSize.x; - - vec3 c = imageLoad (inputImage, ivec2(gl_GlobalInvocationID.yx)).rgb; - - float lum = (0.299*c.r + 0.587*c.g + 0.114*c.b); - if (lum<0.3 && pc.dir == 0) - imageStore(resultImage, ivec2(gl_GlobalInvocationID.xy), color); - else { - vec2 P = gl_GlobalInvocationID.yx - vec2(0, (weights.length() >> 1) * ar * pc.scale); - + + vec2 P = gl_GlobalInvocationID.yx - vec2(0, (weights.length() >> 1) * ar * pc.scale); - for (int i = 0; i < weights.length(); i++) - { - vec2 dv = vec2(0.0, i * pc.scale) * ar; - color += imageLoad (inputImage, ivec2(P + dv)) * weights[i] * pc.strength; - } - - imageStore(resultImage, ivec2(gl_GlobalInvocationID.xy), color); - } + for (int i = 0; i < weights.length(); i++) + { + vec2 dv = vec2(0.0, i * pc.scale) * ar; + color += imageLoad (inputImage, ivec2(P + dv)) * weights[i] * pc.strength; + } + + imageStore(resultImage, ivec2(gl_GlobalInvocationID.xy), color); }
\ No newline at end of file diff --git a/spirv.targets b/spirv.targets index b2df443..957ade8 100644 --- a/spirv.targets +++ b/spirv.targets @@ -1,29 +1,4 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <PropertyPageSchema Include="$(MSBuildThisFileDirectory)spirv.xml" /> - <AvailableItemName Include="GLSLShader"> - <Targets>DXC</Targets> - </AvailableItemName> - </ItemGroup> - - <Target Name="DataCopy" AfterTargets="CoreBuild;Build"> - <Copy SourceFiles="@(Datas)" DestinationFiles="@(Datas->'$(OutputPath)\data\%(RecursiveDir)%(Filename)%(Extension)')"/> - </Target> - - <Target Name="CompileShaders" BeforeTargets="BeforeBuild" Outputs="@(CompiledShaders)"> - <Message Importance="High" Text="Compiling shaders to spirv with glslc" /> - <MakeDir Directories="$(OutputPath)%(GLSLShader.RelativeDir)"/> - <Exec Command="glslc %(GLSLShader.Identity) -o $(OutputPath)%(RelativeDir)%(Filename)%(Extension).spv" - ConsoleToMSBuild="true" EchoOff="true" Outputs="$(OutputPath)%(RelativeDir)%(Filename)%(Extension).spv"> - <Output TaskParameter="ConsoleOutput" PropertyName="OutputOfExec" /> - </Exec> - <CreateItem - Include="$(OutputPath)%(GLSLShader.RelativeDir)%(Filename)%(Extension).spv"> - <Output - TaskParameter="Include" - ItemName="EmbeddedResource"/> - </CreateItem> - <Message Importance="High" Text="Embedding $(OutputPath)%(GLSLShader.RelativeDir)%(Filename)%(Extension).spv" /> - </Target> + </Project> @@ -3,10 +3,6 @@ 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}") = "Textured", "samples\Textured\Textured.csproj", "{96A2E0B8-91AE-4EB9-A435-185D01E24067}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TexturedCube", "samples\TexturedCube\TexturedCube.csproj", "{96A2A7896-91AE-4EB9-A435-185D01E24067}" -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}" @@ -17,19 +13,27 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vulkan", "VK\vulkan.csproj" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CVKL", "vke\CVKL.csproj", "{9E12DFE6-7DC7-4BF2-8077-42DDC69FD0A1}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Triangle", "samples\Triangle\Triangle.csproj", "{001F5D64-871B-47A4-A823-78C7CE3785AA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SpirVTasks", "SpirVTask\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", "{D9C2AFFC-2BEC-487F-86F5-400516D8A991}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "hdr", "samples\hdr\hdr.csproj", "{BFD9B8B7-B7D2-4D25-B8DE-08D3EC6626CF}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "pbr", "samples\pbr\pbr.csproj", "{C91689E2-6F72-4812-8166-3EA500E2D5BE}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "deferred", "samples\deferred\deferred.csproj", "{BFF1BEEC-2E93-4963-AD3C-2A8C9BA05C36}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Textured", "samples\Textured\Textured.csproj", "{C7746F60-3A53-41CE-9241-69F89E377CF1}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "compute", "samples\compute\compute.csproj", "{05515E15-D3C3-4A8C-A940-9467D9D77823}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TexturedCube", "samples\TexturedCube\TexturedCube.csproj", "{28109FE9-9CA7-4B01-A184-5F612CC6C2E1}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "pbr", "samples\pbr\pbr.csproj", "{790642C5-7AD1-437D-9F9C-3F721133AFEF}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "datas", "samples\datas\datas.csproj", "{E34F499F-99A4-4930-81F5-32E85CD39E13}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Model", "samples\Model\Model.csproj", "{0E4346C3-87C0-4C0A-8CDB-DBF1E29F5385}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "compute", "samples\compute\compute.csproj", "{D6B4200E-25FA-4AFD-BD9E-4240BAF1AFE4}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "tests", "samples\tests\tests.csproj", "{1972F90F-9995-4B5D-9696-1B0692F8F650}" +Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "Model", "samples\Model\Model.csproj", "{F134D6DF-893C-41B0-85FC-82E30773F3D5}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "hdr", "samples\hdr\hdr.csproj", "{77D1C316-5BFE-4646-A465-EFAF1813F910}" +Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "tests", "samples\tests\tests.csproj", "{3FE2F866-C21D-4FED-B2F3-3385789165A2}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -39,18 +43,6 @@ Global DebugCrow|Any CPU = DebugCrow|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {96A2E0B8-91AE-4EB9-A435-185D01E24067}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {96A2E0B8-91AE-4EB9-A435-185D01E24067}.Release|Any CPU.ActiveCfg = Release|Any CPU - {96A2E0B8-91AE-4EB9-A435-185D01E24067}.temp|Any CPU.ActiveCfg = Debug|Any CPU - {96A2E0B8-91AE-4EB9-A435-185D01E24067}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU - {96A2E0B8-91AE-4EB9-A435-185D01E24067}.Debug|Any CPU.Build.0 = Debug|Any CPU - {96A2E0B8-91AE-4EB9-A435-185D01E24067}.Release|Any CPU.Build.0 = Release|Any CPU - {96A2A7896-91AE-4EB9-A435-185D01E24067}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {96A2A7896-91AE-4EB9-A435-185D01E24067}.Release|Any CPU.ActiveCfg = Release|Any CPU - {96A2A7896-91AE-4EB9-A435-185D01E24067}.temp|Any CPU.ActiveCfg = Debug|Any CPU - {96A2A7896-91AE-4EB9-A435-185D01E24067}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU - {96A2A7896-91AE-4EB9-A435-185D01E24067}.Debug|Any CPU.Build.0 = Debug|Any CPU - {96A2A7896-91AE-4EB9-A435-185D01E24067}.Release|Any CPU.Build.0 = Release|Any CPU {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}.Release|Any CPU.Build.0 = Release|Any CPU @@ -82,69 +74,94 @@ Global {9E12DFE6-7DC7-4BF2-8077-42DDC69FD0A1}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU {9E12DFE6-7DC7-4BF2-8077-42DDC69FD0A1}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU {9E12DFE6-7DC7-4BF2-8077-42DDC69FD0A1}.Release|Any CPU.Build.0 = Release|Any CPU - {001F5D64-871B-47A4-A823-78C7CE3785AA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {001F5D64-871B-47A4-A823-78C7CE3785AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {001F5D64-871B-47A4-A823-78C7CE3785AA}.temp|Any CPU.ActiveCfg = Debug|Any CPU - {001F5D64-871B-47A4-A823-78C7CE3785AA}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU - {001F5D64-871B-47A4-A823-78C7CE3785AA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {001F5D64-871B-47A4-A823-78C7CE3785AA}.Release|Any CPU.Build.0 = Release|Any CPU - {BFF1BEEC-2E93-4963-AD3C-2A8C9BA05C36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BFF1BEEC-2E93-4963-AD3C-2A8C9BA05C36}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BFF1BEEC-2E93-4963-AD3C-2A8C9BA05C36}.temp|Any CPU.ActiveCfg = Debug|Any CPU - {BFF1BEEC-2E93-4963-AD3C-2A8C9BA05C36}.DebugCrow|Any CPU.ActiveCfg = DebugCrow|Any CPU - {BFF1BEEC-2E93-4963-AD3C-2A8C9BA05C36}.DebugCrow|Any CPU.Build.0 = DebugCrow|Any CPU - {BFF1BEEC-2E93-4963-AD3C-2A8C9BA05C36}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BFF1BEEC-2E93-4963-AD3C-2A8C9BA05C36}.Release|Any CPU.Build.0 = Release|Any CPU - {05515E15-D3C3-4A8C-A940-9467D9D77823}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {05515E15-D3C3-4A8C-A940-9467D9D77823}.temp|Any CPU.ActiveCfg = Debug|Any CPU - {05515E15-D3C3-4A8C-A940-9467D9D77823}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU - {05515E15-D3C3-4A8C-A940-9467D9D77823}.Debug|Any CPU.Build.0 = Debug|Any CPU - {05515E15-D3C3-4A8C-A940-9467D9D77823}.Release|Any CPU.ActiveCfg = Release|Any CPU - {05515E15-D3C3-4A8C-A940-9467D9D77823}.Release|Any CPU.Build.0 = Release|Any CPU - {790642C5-7AD1-437D-9F9C-3F721133AFEF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {790642C5-7AD1-437D-9F9C-3F721133AFEF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {790642C5-7AD1-437D-9F9C-3F721133AFEF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {790642C5-7AD1-437D-9F9C-3F721133AFEF}.temp|Any CPU.ActiveCfg = Debug|Any CPU - {790642C5-7AD1-437D-9F9C-3F721133AFEF}.temp|Any CPU.Build.0 = Debug|Any CPU - {790642C5-7AD1-437D-9F9C-3F721133AFEF}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU - {790642C5-7AD1-437D-9F9C-3F721133AFEF}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU - {790642C5-7AD1-437D-9F9C-3F721133AFEF}.Release|Any CPU.Build.0 = Release|Any CPU - {0E4346C3-87C0-4C0A-8CDB-DBF1E29F5385}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0E4346C3-87C0-4C0A-8CDB-DBF1E29F5385}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0E4346C3-87C0-4C0A-8CDB-DBF1E29F5385}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0E4346C3-87C0-4C0A-8CDB-DBF1E29F5385}.Release|Any CPU.Build.0 = Release|Any CPU - {0E4346C3-87C0-4C0A-8CDB-DBF1E29F5385}.temp|Any CPU.ActiveCfg = Debug|Any CPU - {0E4346C3-87C0-4C0A-8CDB-DBF1E29F5385}.temp|Any CPU.Build.0 = Debug|Any CPU - {0E4346C3-87C0-4C0A-8CDB-DBF1E29F5385}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU - {0E4346C3-87C0-4C0A-8CDB-DBF1E29F5385}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU - {1972F90F-9995-4B5D-9696-1B0692F8F650}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1972F90F-9995-4B5D-9696-1B0692F8F650}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1972F90F-9995-4B5D-9696-1B0692F8F650}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1972F90F-9995-4B5D-9696-1B0692F8F650}.Release|Any CPU.Build.0 = Release|Any CPU - {1972F90F-9995-4B5D-9696-1B0692F8F650}.temp|Any CPU.ActiveCfg = Debug|Any CPU - {1972F90F-9995-4B5D-9696-1B0692F8F650}.temp|Any CPU.Build.0 = Debug|Any CPU - {1972F90F-9995-4B5D-9696-1B0692F8F650}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU - {1972F90F-9995-4B5D-9696-1B0692F8F650}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU - {77D1C316-5BFE-4646-A465-EFAF1813F910}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {77D1C316-5BFE-4646-A465-EFAF1813F910}.Debug|Any CPU.Build.0 = Debug|Any CPU - {77D1C316-5BFE-4646-A465-EFAF1813F910}.Release|Any CPU.ActiveCfg = Release|Any CPU - {77D1C316-5BFE-4646-A465-EFAF1813F910}.Release|Any CPU.Build.0 = Release|Any CPU - {77D1C316-5BFE-4646-A465-EFAF1813F910}.temp|Any CPU.ActiveCfg = Debug|Any CPU - {77D1C316-5BFE-4646-A465-EFAF1813F910}.temp|Any CPU.Build.0 = Debug|Any CPU - {77D1C316-5BFE-4646-A465-EFAF1813F910}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU - {77D1C316-5BFE-4646-A465-EFAF1813F910}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU + {F72F73E4-86CC-4F56-B004-BCC4BF0AF30B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F72F73E4-86CC-4F56-B004-BCC4BF0AF30B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F72F73E4-86CC-4F56-B004-BCC4BF0AF30B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F72F73E4-86CC-4F56-B004-BCC4BF0AF30B}.Release|Any CPU.Build.0 = Release|Any CPU + {F72F73E4-86CC-4F56-B004-BCC4BF0AF30B}.temp|Any CPU.ActiveCfg = Debug|Any CPU + {F72F73E4-86CC-4F56-B004-BCC4BF0AF30B}.temp|Any CPU.Build.0 = Debug|Any CPU + {F72F73E4-86CC-4F56-B004-BCC4BF0AF30B}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU + {F72F73E4-86CC-4F56-B004-BCC4BF0AF30B}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU + {3CFF99D3-8C0E-4B37-9146-9A7ED9D28CAA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3CFF99D3-8C0E-4B37-9146-9A7ED9D28CAA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3CFF99D3-8C0E-4B37-9146-9A7ED9D28CAA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3CFF99D3-8C0E-4B37-9146-9A7ED9D28CAA}.Release|Any CPU.Build.0 = Release|Any CPU + {3CFF99D3-8C0E-4B37-9146-9A7ED9D28CAA}.temp|Any CPU.ActiveCfg = Debug|Any CPU + {3CFF99D3-8C0E-4B37-9146-9A7ED9D28CAA}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU + {D9C2AFFC-2BEC-487F-86F5-400516D8A991}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D9C2AFFC-2BEC-487F-86F5-400516D8A991}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D9C2AFFC-2BEC-487F-86F5-400516D8A991}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D9C2AFFC-2BEC-487F-86F5-400516D8A991}.Release|Any CPU.Build.0 = Release|Any CPU + {D9C2AFFC-2BEC-487F-86F5-400516D8A991}.temp|Any CPU.ActiveCfg = Debug|Any CPU + {D9C2AFFC-2BEC-487F-86F5-400516D8A991}.DebugCrow|Any CPU.ActiveCfg = DebugCrow|Any CPU + {D9C2AFFC-2BEC-487F-86F5-400516D8A991}.DebugCrow|Any CPU.Build.0 = DebugCrow|Any CPU + {BFD9B8B7-B7D2-4D25-B8DE-08D3EC6626CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BFD9B8B7-B7D2-4D25-B8DE-08D3EC6626CF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BFD9B8B7-B7D2-4D25-B8DE-08D3EC6626CF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BFD9B8B7-B7D2-4D25-B8DE-08D3EC6626CF}.Release|Any CPU.Build.0 = Release|Any CPU + {BFD9B8B7-B7D2-4D25-B8DE-08D3EC6626CF}.temp|Any CPU.ActiveCfg = Debug|Any CPU + {BFD9B8B7-B7D2-4D25-B8DE-08D3EC6626CF}.temp|Any CPU.Build.0 = Debug|Any CPU + {BFD9B8B7-B7D2-4D25-B8DE-08D3EC6626CF}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU + {BFD9B8B7-B7D2-4D25-B8DE-08D3EC6626CF}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU + {C91689E2-6F72-4812-8166-3EA500E2D5BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C91689E2-6F72-4812-8166-3EA500E2D5BE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C91689E2-6F72-4812-8166-3EA500E2D5BE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C91689E2-6F72-4812-8166-3EA500E2D5BE}.Release|Any CPU.Build.0 = Release|Any CPU + {C91689E2-6F72-4812-8166-3EA500E2D5BE}.temp|Any CPU.ActiveCfg = Debug|Any CPU + {C91689E2-6F72-4812-8166-3EA500E2D5BE}.temp|Any CPU.Build.0 = Debug|Any CPU + {C91689E2-6F72-4812-8166-3EA500E2D5BE}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU + {C91689E2-6F72-4812-8166-3EA500E2D5BE}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU + {C7746F60-3A53-41CE-9241-69F89E377CF1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C7746F60-3A53-41CE-9241-69F89E377CF1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C7746F60-3A53-41CE-9241-69F89E377CF1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C7746F60-3A53-41CE-9241-69F89E377CF1}.Release|Any CPU.Build.0 = Release|Any CPU + {C7746F60-3A53-41CE-9241-69F89E377CF1}.temp|Any CPU.ActiveCfg = Debug|Any CPU + {C7746F60-3A53-41CE-9241-69F89E377CF1}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU + {28109FE9-9CA7-4B01-A184-5F612CC6C2E1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {28109FE9-9CA7-4B01-A184-5F612CC6C2E1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {28109FE9-9CA7-4B01-A184-5F612CC6C2E1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {28109FE9-9CA7-4B01-A184-5F612CC6C2E1}.Release|Any CPU.Build.0 = Release|Any CPU + {28109FE9-9CA7-4B01-A184-5F612CC6C2E1}.temp|Any CPU.ActiveCfg = Debug|Any CPU + {28109FE9-9CA7-4B01-A184-5F612CC6C2E1}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU + {E34F499F-99A4-4930-81F5-32E85CD39E13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E34F499F-99A4-4930-81F5-32E85CD39E13}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E34F499F-99A4-4930-81F5-32E85CD39E13}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E34F499F-99A4-4930-81F5-32E85CD39E13}.Release|Any CPU.Build.0 = Release|Any CPU + {D6B4200E-25FA-4AFD-BD9E-4240BAF1AFE4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D6B4200E-25FA-4AFD-BD9E-4240BAF1AFE4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D6B4200E-25FA-4AFD-BD9E-4240BAF1AFE4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D6B4200E-25FA-4AFD-BD9E-4240BAF1AFE4}.Release|Any CPU.Build.0 = Release|Any CPU + {D6B4200E-25FA-4AFD-BD9E-4240BAF1AFE4}.temp|Any CPU.ActiveCfg = Debug|Any CPU + {D6B4200E-25FA-4AFD-BD9E-4240BAF1AFE4}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU + {F134D6DF-893C-41B0-85FC-82E30773F3D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F134D6DF-893C-41B0-85FC-82E30773F3D5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F134D6DF-893C-41B0-85FC-82E30773F3D5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F134D6DF-893C-41B0-85FC-82E30773F3D5}.Release|Any CPU.Build.0 = Release|Any CPU + {F134D6DF-893C-41B0-85FC-82E30773F3D5}.temp|Any CPU.ActiveCfg = Debug|Any CPU + {F134D6DF-893C-41B0-85FC-82E30773F3D5}.temp|Any CPU.Build.0 = Debug|Any CPU + {F134D6DF-893C-41B0-85FC-82E30773F3D5}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU + {F134D6DF-893C-41B0-85FC-82E30773F3D5}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU + {3FE2F866-C21D-4FED-B2F3-3385789165A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3FE2F866-C21D-4FED-B2F3-3385789165A2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3FE2F866-C21D-4FED-B2F3-3385789165A2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3FE2F866-C21D-4FED-B2F3-3385789165A2}.Release|Any CPU.Build.0 = Release|Any CPU + {3FE2F866-C21D-4FED-B2F3-3385789165A2}.temp|Any CPU.ActiveCfg = Debug|Any CPU + {3FE2F866-C21D-4FED-B2F3-3385789165A2}.temp|Any CPU.Build.0 = Debug|Any CPU + {3FE2F866-C21D-4FED-B2F3-3385789165A2}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU + {3FE2F866-C21D-4FED-B2F3-3385789165A2}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU EndGlobalSection GlobalSection(NestedProjects) = preSolution - {96A2E0B8-91AE-4EB9-A435-185D01E24067} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} - {96A2A7896-91AE-4EB9-A435-185D01E24067} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} {1F05E74F-AEE8-481C-8FDF-456654CC30BE} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} - {001F5D64-871B-47A4-A823-78C7CE3785AA} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} - {BFF1BEEC-2E93-4963-AD3C-2A8C9BA05C36} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} - {05515E15-D3C3-4A8C-A940-9467D9D77823} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} - {790642C5-7AD1-437D-9F9C-3F721133AFEF} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} - {0E4346C3-87C0-4C0A-8CDB-DBF1E29F5385} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} - {1972F90F-9995-4B5D-9696-1B0692F8F650} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} - {77D1C316-5BFE-4646-A465-EFAF1813F910} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} + {3CFF99D3-8C0E-4B37-9146-9A7ED9D28CAA} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} + {D9C2AFFC-2BEC-487F-86F5-400516D8A991} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} + {BFD9B8B7-B7D2-4D25-B8DE-08D3EC6626CF} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} + {C91689E2-6F72-4812-8166-3EA500E2D5BE} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} + {C7746F60-3A53-41CE-9241-69F89E377CF1} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} + {28109FE9-9CA7-4B01-A184-5F612CC6C2E1} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} + {E34F499F-99A4-4930-81F5-32E85CD39E13} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} + {D6B4200E-25FA-4AFD-BD9E-4240BAF1AFE4} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} + {F134D6DF-893C-41B0-85FC-82E30773F3D5} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} + {3FE2F866-C21D-4FED-B2F3-3385789165A2} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354} EndGlobalSection GlobalSection(MonoDevelopProperties) = preSolution Policies = $0 diff --git a/vke/CVKL.csproj b/vke/CVKL.csproj index 8577539..b2c6032 100644 --- a/vke/CVKL.csproj +++ b/vke/CVKL.csproj @@ -33,26 +33,27 @@ <DefineConstants>MEMORY_POOLS</DefineConstants> </PropertyGroup> - <ItemGroup Condition="$(TargetFramework.StartsWith('net4'))"> +<!-- <ItemGroup Condition="$(TargetFramework.StartsWith('net4'))"> <Reference Include="System" /> <Reference Include="System.Runtime" /> <Reference Include="System.Core" /> - </ItemGroup> + </ItemGroup>--> <ItemGroup Condition="$(TargetFramework.StartsWith('netstandard'))"> <PackageReference Include="System.Numerics.Vectors" Version="4.6.0-preview4.19212.13" /> </ItemGroup> <ItemGroup> <PackageReference Include="glTF2Loader" Version="1.1.3-alpha" /> - <PackageReference Include="Vulkan" Version="0.1.4-beta" /> + <PackageReference Include="Vulkan" Version="0.1.4-beta" /> +<!-- <ProjectReference Include="$(SolutionDir)SpirVTask\SpirVTasks.csproj" />--> </ItemGroup> <ItemGroup> - <None Remove="shaders\**\*.frag;shaders\**\*.vert;shaders\**\*.comp;shaders\**\*.geom" /> - <GLSLShader Include="shaders\**\*.frag;shaders\**\*.vert;shaders\**\*.comp;shaders\**\*.geom" /> <Compile Remove="Properties\AssemblyInfo.cs;src\Renderer.cs;src\QueueFamily.cs" /> </ItemGroup> <ItemGroup> <Folder Include="src\base\" /> </ItemGroup> - <Import Project="$(SolutionDir)spirv.targets" /> + <ItemGroup> +<!-- --> + </ItemGroup> </Project> |