diff options
| author | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2021-12-07 14:31:55 +0100 |
|---|---|---|
| committer | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2021-12-07 14:31:55 +0100 |
| commit | 3fb884d726910719a351d3e617c757459fb7c772 (patch) | |
| tree | 1625cf47f6eab63f18fb39093e3a1f0df373c272 | |
| parent | 2af048902ea6952eaac368b8880788214f2e95af (diff) | |
samples
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | .vscode/launch.json | 68 | ||||
| -rw-r--r-- | .vscode/tasks.json | 119 | ||||
| -rw-r--r-- | Directory.Build.props | 3 | ||||
| -rw-r--r-- | samples/Directory.Build.props | 15 | ||||
| -rw-r--r-- | samples/common/Utils.cs | 19 | ||||
| -rw-r--r-- | samples/create_device/Program.cs | 74 | ||||
| -rw-r--r-- | samples/create_device/create_device.csproj (renamed from tests/tests.csproj) | 3 | ||||
| -rw-r--r-- | samples/create_instance/Program.cs | 27 | ||||
| -rw-r--r-- | samples/create_instance/create_instance.csproj | 8 | ||||
| -rw-r--r-- | samples/select_physical_dev/Program.cs | 46 | ||||
| -rw-r--r-- | samples/select_physical_dev/select_physical_dev.csproj | 8 | ||||
| -rw-r--r-- | tests/Program.cs | 44 | ||||
| -rw-r--r-- | vk.net.sln | 30 | ||||
| -rw-r--r-- | vulkan/Version.cs | 1 | ||||
| -rw-r--r-- | vulkan/vulkan.csproj | 6 |
16 files changed, 413 insertions, 59 deletions
@@ -1,4 +1,3 @@ -.vscode .vs build/ packages/ diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..1e002fb --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,68 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": ".NET Core Launch (generator)", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build generator", + "program": "${workspaceFolder}/vk.generator/bin/Debug/netcoreapp3.1/vk.generator", + "args": ["Vulkan-Docs/xml/vk.xml"], + "cwd": "${workspaceFolder}", + "console": "externalTerminal", + "stopAtEntry": false + }, + { + "name": ".NET Core Launch (rewrite)", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build rewrite", + "program": "${workspaceFolder}/vk.rewrite/bin/Debug/netcoreapp3.1/vk.rewrite", + "args": ["vulkan/bin/Debug/netstandard2.1/Vulkan.dll"], + "cwd": "${workspaceFolder}", + "console": "internalConsole", + "stopAtEntry": false + }, + { + "name": ".NET Core Launch (create_instance)", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build create_instance", + "program": "${workspaceFolder}/samples/create_instance/bin/Debug/netcoreapp3.1/create_instance", + "args": [], + "cwd": "${workspaceFolder}", + "console": "externalTerminal", + "stopAtEntry": false + }, + { + "name": ".NET Core Launch (select_physical_dev)", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build select_physical_dev", + "program": "${workspaceFolder}/samples/select_physical_dev/bin/Debug/netcoreapp3.1/select_physical_dev", + "args": [], + "cwd": "${workspaceFolder}", + "console": "externalTerminal", + "stopAtEntry": false + }, + { + "name": ".NET Core Launch (create_device)", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build create_device", + "program": "${workspaceFolder}/samples/create_device/bin/Debug/netcoreapp3.1/create_device", + "args": [], + "cwd": "${workspaceFolder}", + "console": "externalTerminal", + "stopAtEntry": false + }, + { + "name": ".NET Core Attach", + "type": "coreclr", + "request": "attach" + } + ] +}
\ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..1b9104b --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,119 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "build generator", + "command": "dotnet", + "type": "process", + "args": [ + "build", + "${workspaceFolder}/vk.generator/vk.generator.csproj", + "/property:GenerateFullPaths=true", + "/property:Configuration=Debug", + "/property:SolutionDir=${workspaceFolder}/", + "/consoleloggerparameters:NoSummary" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "build rewrite", + "command": "dotnet", + "type": "process", + "args": [ + "build", + "${workspaceFolder}/vk.rewrite/vk.rewrite.csproj", + "/property:GenerateFullPaths=true", + "/property:Configuration=Debug", + "/property:SolutionDir=${workspaceFolder}/", + "/consoleloggerparameters:NoSummary" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "build vulkan", + "command": "dotnet", + "type": "process", + "args": [ + "build", + "${workspaceFolder}/vulkan/vulkan.csproj", + "/property:GenerateFullPaths=true", + "/property:Configuration=Debug", + "/property:SolutionDir=${workspaceFolder}/", + "/consoleloggerparameters:NoSummary" + ], + "problemMatcher": "$msCompile", + }, + { + "label": "build create_instance", + "command": "dotnet", + "type": "process", + "args": [ + "build", + "${workspaceFolder}/samples/create_instance/create_instance.csproj", + "/property:GenerateFullPaths=true", + "/property:Configuration=Debug", + "/property:Regenerate=false", + "/property:SolutionDir=${workspaceFolder}/", + "/consoleloggerparameters:NoSummary" + ], + "problemMatcher": "$msCompile", + }, + { + "label": "build select_physical_dev", + "command": "dotnet", + "type": "process", + "args": [ + "build", + "${workspaceFolder}/samples/select_physical_dev/select_physical_dev.csproj", + "/property:GenerateFullPaths=true", + "/property:Configuration=Debug", + "/property:Regenerate=false", + "/property:SolutionDir=${workspaceFolder}/", + "/consoleloggerparameters:NoSummary" + ], + "problemMatcher": "$msCompile", + }, + { + "label": "build create_device", + "command": "dotnet", + "type": "process", + "args": [ + "build", + "${workspaceFolder}/samples/create_device/create_device.csproj", + "/property:GenerateFullPaths=true", + "/property:Configuration=Debug", + "/property:Regenerate=false", + "/property:SolutionDir=${workspaceFolder}/", + "/consoleloggerparameters:NoSummary" + ], + "problemMatcher": "$msCompile", + }, + { + "label": "publish", + "command": "dotnet", + "type": "process", + "args": [ + "publish", + "${workspaceFolder}/vk.generator/vk.generator.csproj", + "/property:GenerateFullPaths=true", + "/property:Configuration=Debug", + "/consoleloggerparameters:NoSummary" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "watch", + "command": "dotnet", + "type": "process", + "args": [ + "watch", + "run", + "${workspaceFolder}/vk.generator/vk.generator.csproj", + "/property:GenerateFullPaths=true", + "/property:Configuration=Debug", + "/consoleloggerparameters:NoSummary" + ], + "problemMatcher": "$msCompile" + } + ] +}
\ No newline at end of file diff --git a/Directory.Build.props b/Directory.Build.props index a15e6fa..8df5522 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -11,5 +11,8 @@ <ToolsFramework>netcoreapp3.1</ToolsFramework> + <!--regenerate vk.net sources with vk.generator--> + <Regenerate>true</Regenerate> + </PropertyGroup> </Project> diff --git a/samples/Directory.Build.props b/samples/Directory.Build.props new file mode 100644 index 0000000..1e82540 --- /dev/null +++ b/samples/Directory.Build.props @@ -0,0 +1,15 @@ +<Project> + <PropertyGroup> + <Deterministic>true</Deterministic> + + <RepositoryUrl>https://github.com/jpbruyere/vk.net</RepositoryUrl> + <License>MIT</License> + <Authors>Jean-Philippe Bruyère</Authors> + <Copyright></Copyright> + <Company></Company> + </PropertyGroup> + <ItemGroup> + <ProjectReference Include="$(MSBuildThisFileDirectory)..\vulkan\vulkan.csproj" /> + <Compile Include="$(MSBuildThisFileDirectory)common\*.cs"/> + </ItemGroup> +</Project> diff --git a/samples/common/Utils.cs b/samples/common/Utils.cs new file mode 100644 index 0000000..929f602 --- /dev/null +++ b/samples/common/Utils.cs @@ -0,0 +1,19 @@ +// Copyright (c) 2019 Jean-Philippe Bruyère <jp_bruyere@hotmail.com> +// +// This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT) +using System; +using System.Runtime.InteropServices; +using System.Runtime.CompilerServices; +using Vulkan; + +namespace samples { + public static class Utils { + public static void CheckResult (VkResult result, string msg = "Call failed", + [CallerMemberName] string caller = null, + [CallerFilePath] string sourceFilePath = "", + [CallerLineNumber] int sourceLineNumber = 0) { + if (result != VkResult.Success) + throw new InvalidOperationException ($"[{sourceFilePath}:{sourceLineNumber}->{caller}]{msg}: {result}"); + } + } +} diff --git a/samples/create_device/Program.cs b/samples/create_device/Program.cs new file mode 100644 index 0000000..d3ab3fb --- /dev/null +++ b/samples/create_device/Program.cs @@ -0,0 +1,74 @@ +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Text; +using Vulkan; +using static Vulkan.Vk; +using static samples.Utils; +using Version = Vulkan.Version; +using System.Linq; + +namespace tests +{ + class Program + { + + static bool TryGetPhysicalDevice (VkInstance inst, VkPhysicalDeviceType deviceType, out VkPhysicalDevice phy) { + CheckResult (vkEnumeratePhysicalDevices (inst, out uint phyCount, IntPtr.Zero)); + + VkPhysicalDevice[] phys = new VkPhysicalDevice[phyCount]; + + CheckResult (vkEnumeratePhysicalDevices (inst, out phyCount, phys.Pin())); + + for (int i = 0; i < phys.Length; i++) + { + phy = phys[i]; + vkGetPhysicalDeviceProperties (phy, out VkPhysicalDeviceProperties props); + if (props.deviceType == deviceType) + return true; + } + phy = default; + return false; + } + static void Main(string[] args) + { + VkInstance inst; + + using (VkApplicationInfo ai = new VkApplicationInfo ()) { + using (VkInstanceCreateInfo ci = new VkInstanceCreateInfo {pApplicationInfo = ai}){ + CheckResult (vkCreateInstance (ci, IntPtr.Zero, out inst)); + } + } + + Vk.LoadInstanceFunctionPointers (inst); + + if (!TryGetPhysicalDevice (inst, VkPhysicalDeviceType.DiscreteGpu, out VkPhysicalDevice phy)) + if (!TryGetPhysicalDevice (inst, VkPhysicalDeviceType.IntegratedGpu, out phy)) + if (!TryGetPhysicalDevice (inst, VkPhysicalDeviceType.Cpu, out phy)) + throw new Exception ("no suitable physical device found"); + + vkGetPhysicalDeviceQueueFamilyProperties (phy, out uint queueFamilyCount, IntPtr.Zero); + VkQueueFamilyProperties[] phys = new VkQueueFamilyProperties[queueFamilyCount]; + vkGetPhysicalDeviceQueueFamilyProperties (phy, out queueFamilyCount, phys.Pin()); + phys.Unpin(); + + uint qFamIndex = (uint)phys.Select((phy, index) => (phy, index)) + .First (qfp=>qfp.phy.queueFlags.HasFlag (VkQueueFlags.Graphics)).index; + + VkDevice dev = default; + float[] priorities = {0}; + using (VkDeviceQueueCreateInfo qInfo = new VkDeviceQueueCreateInfo (qFamIndex,1,priorities)) { + using (VkDeviceCreateInfo deviceCreateInfo = new VkDeviceCreateInfo () { + pQueueCreateInfos = qInfo + }) { + CheckResult (vkCreateDevice (phy, deviceCreateInfo, IntPtr.Zero, out dev)); + } + } + vkGetDeviceQueue (dev, qFamIndex, 0, out VkQueue gQ); + + vkDestroyDevice (dev, IntPtr.Zero); + + vkDestroyInstance (inst, IntPtr.Zero); + } + } +} diff --git a/tests/tests.csproj b/samples/create_device/create_device.csproj index ed261c9..c73e0d1 100644 --- a/tests/tests.csproj +++ b/samples/create_device/create_device.csproj @@ -5,7 +5,4 @@ <TargetFramework>netcoreapp3.1</TargetFramework> </PropertyGroup> - <ItemGroup> - <ProjectReference Include="..\vulkan\vulkan.csproj" /> - </ItemGroup> </Project> diff --git a/samples/create_instance/Program.cs b/samples/create_instance/Program.cs new file mode 100644 index 0000000..474ae72 --- /dev/null +++ b/samples/create_instance/Program.cs @@ -0,0 +1,27 @@ +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Text; +using Vulkan; +using static Vulkan.Vk; +using Version = Vulkan.Version; + +namespace tests +{ + class Program + { + + static void Main(string[] args) + { + VkInstance instance; + + using (VkApplicationInfo ai = new VkApplicationInfo()) { + using (VkInstanceCreateInfo ci = new VkInstanceCreateInfo {pApplicationInfo = ai}){ + Console.WriteLine (vkCreateInstance (ci, IntPtr.Zero, out instance)); + } + } + + vkDestroyInstance (instance, IntPtr.Zero); + } + } +} diff --git a/samples/create_instance/create_instance.csproj b/samples/create_instance/create_instance.csproj new file mode 100644 index 0000000..c73e0d1 --- /dev/null +++ b/samples/create_instance/create_instance.csproj @@ -0,0 +1,8 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>Exe</OutputType> + <TargetFramework>netcoreapp3.1</TargetFramework> + </PropertyGroup> + +</Project> diff --git a/samples/select_physical_dev/Program.cs b/samples/select_physical_dev/Program.cs new file mode 100644 index 0000000..3258489 --- /dev/null +++ b/samples/select_physical_dev/Program.cs @@ -0,0 +1,46 @@ +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Text; +using Vulkan; +using static Vulkan.Vk; +using static samples.Utils; +using Version = Vulkan.Version; + +namespace tests +{ + class Program + { + + static void Main(string[] args) + { + VkInstance inst; + + using (VkApplicationInfo ai = new VkApplicationInfo ()) { + using (VkInstanceCreateInfo ci = new VkInstanceCreateInfo {pApplicationInfo = ai}){ + CheckResult (vkCreateInstance (ci, IntPtr.Zero, out inst)); + } + } + + Vk.LoadInstanceFunctionPointers (inst); + + CheckResult (vkEnumeratePhysicalDevices (inst, out uint phyCount, IntPtr.Zero)); + + VkPhysicalDevice[] phys = new VkPhysicalDevice[phyCount]; + + CheckResult (vkEnumeratePhysicalDevices (inst, out phyCount, phys.Pin())); + + for (int i = 0; i < phys.Length; i++) + { + vkGetPhysicalDeviceProperties (phys[i], out VkPhysicalDeviceProperties props); + Console.WriteLine ($"{props.deviceName}"); + Console.WriteLine ($"\tdeviceType: {props.deviceType,20}"); + Console.WriteLine ($"\tapiVersion: {(Version)props.apiVersion,20}"); + Console.WriteLine ($"\tdriverVersion:{props.driverVersion,20}"); + Console.WriteLine ($"\tvendorID: {props.vendorID,20}"); + } + + vkDestroyInstance (inst, IntPtr.Zero); + } + } +} diff --git a/samples/select_physical_dev/select_physical_dev.csproj b/samples/select_physical_dev/select_physical_dev.csproj new file mode 100644 index 0000000..c73e0d1 --- /dev/null +++ b/samples/select_physical_dev/select_physical_dev.csproj @@ -0,0 +1,8 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>Exe</OutputType> + <TargetFramework>netcoreapp3.1</TargetFramework> + </PropertyGroup> + +</Project> diff --git a/tests/Program.cs b/tests/Program.cs deleted file mode 100644 index 1e431fd..0000000 --- a/tests/Program.cs +++ /dev/null @@ -1,44 +0,0 @@ -using System; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; -using System.Text; -using Vulkan; -using static Vulkan.Vk; -using Version = Vulkan.Version; - -namespace tests -{ - class Program - { - - static void Main(string[] args) - { - VkInstance instance; - - using (VkApplicationInfo ai = new VkApplicationInfo( - new Version (1,0,0), - new Version (1,0,0), - new Version (1,2,0)) { - pApplicationName = "new application name" - }){ - - - VkClearColorValue clear = new VkClearColorValue(255,0,0); - clear.floats[2] = 210; - using (VkInstanceCreateInfo ci = new VkInstanceCreateInfo() { - pApplicationInfo = ai}){ - - VkResult res = vkCreateInstance (ci, IntPtr.Zero, out instance); - if (res != VkResult.Success) { - Console.WriteLine ($"Error: {res}"); - return; - }else - Console.WriteLine ($"Success: {res}"); - - } - } - - vkDestroyInstance (instance, IntPtr.Zero); - } - } -} @@ -10,10 +10,13 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vulkan", "vulkan\vulkan.csp 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}") = "tests", "tests\tests.csproj", "{6EA93907-C477-45D7-BB68-50940821B1F1}" - ProjectSection(ProjectDependencies) = postProject - {37D01BE5-5FE2-4742-BD5B-5D2C25FCF146} = {37D01BE5-5FE2-4742-BD5B-5D2C25FCF146} - EndProjectSection +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{6A28E31F-9B2F-43FC-861F-650268129778}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "create_instance", "samples\create_instance\create_instance.csproj", "{D9431252-E53B-4721-AA21-19C7F498C434}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "select_physical_dev", "samples\select_physical_dev\select_physical_dev.csproj", "{F8B5A974-99FC-48C2-8C00-15C617D3DF81}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "create_device", "samples\create_device\create_device.csproj", "{C61F109B-E6C4-424D-8660-0A38DC6ECB66}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -33,12 +36,23 @@ Global {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}.Release|Any CPU.Build.0 = Release|Any CPU - {6EA93907-C477-45D7-BB68-50940821B1F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6EA93907-C477-45D7-BB68-50940821B1F1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6EA93907-C477-45D7-BB68-50940821B1F1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6EA93907-C477-45D7-BB68-50940821B1F1}.Release|Any CPU.Build.0 = Release|Any CPU + {D9431252-E53B-4721-AA21-19C7F498C434}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D9431252-E53B-4721-AA21-19C7F498C434}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D9431252-E53B-4721-AA21-19C7F498C434}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D9431252-E53B-4721-AA21-19C7F498C434}.Release|Any CPU.Build.0 = Release|Any CPU + {F8B5A974-99FC-48C2-8C00-15C617D3DF81}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F8B5A974-99FC-48C2-8C00-15C617D3DF81}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F8B5A974-99FC-48C2-8C00-15C617D3DF81}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F8B5A974-99FC-48C2-8C00-15C617D3DF81}.Release|Any CPU.Build.0 = Release|Any CPU + {C61F109B-E6C4-424D-8660-0A38DC6ECB66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C61F109B-E6C4-424D-8660-0A38DC6ECB66}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C61F109B-E6C4-424D-8660-0A38DC6ECB66}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C61F109B-E6C4-424D-8660-0A38DC6ECB66}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(NestedProjects) = preSolution + {D9431252-E53B-4721-AA21-19C7F498C434} = {6A28E31F-9B2F-43FC-861F-650268129778} + {F8B5A974-99FC-48C2-8C00-15C617D3DF81} = {6A28E31F-9B2F-43FC-861F-650268129778} + {C61F109B-E6C4-424D-8660-0A38DC6ECB66} = {6A28E31F-9B2F-43FC-861F-650268129778} EndGlobalSection GlobalSection(MonoDevelopProperties) = preSolution Policies = $0 diff --git a/vulkan/Version.cs b/vulkan/Version.cs index ab73511..b5780fd 100644 --- a/vulkan/Version.cs +++ b/vulkan/Version.cs @@ -17,5 +17,6 @@ public static implicit operator uint(Version version) => version.value; public static implicit operator Version (uint version) => new Version(version); + public override string ToString() => $"{Major}.{Minor}.{Patch}"; } }
\ No newline at end of file diff --git a/vulkan/vulkan.csproj b/vulkan/vulkan.csproj index 0eaabbf..545cd0e 100644 --- a/vulkan/vulkan.csproj +++ b/vulkan/vulkan.csproj @@ -39,12 +39,12 @@ <Target Name="generate" BeforeTargets="BeforeCompile"> <MakeDir Directories="$(SolutionDir)build/generated" /> - <Exec Condition="$(OS) == 'Windows_NT'" + <Exec Condition="$(OS) == 'Windows_NT' AND '$(Regenerate)'=='true' " Command="$(SolutionDir)vk.generator/bin/$(Configuration)/$(ToolsFramework)/vk.generator.exe %(SpecFile.Identity)" WorkingDirectory="$(SolutionDir)"> <Output TaskParameter="ConsoleOutput" PropertyName="OutputOfExec" /> </Exec> - <Exec Condition="$(OS) != 'Windows_NT'" + <Exec Condition="$(OS) != 'Windows_NT' AND '$(Regenerate)'=='true' " Command="$(SolutionDir)vk.generator/bin/$(Configuration)/$(ToolsFramework)/vk.generator %(SpecFile.Identity)" WorkingDirectory="$(SolutionDir)"> <Output TaskParameter="ConsoleOutput" PropertyName="OutputOfExec" /> @@ -54,7 +54,7 @@ </CreateItem> </Target> - <Target Name="rewrite" AfterTargets="CoreBuild"> + <Target Name="rewrite" AfterTargets="CoreBuild" > <Exec Condition="$(OS) == 'Windows_NT'" ConsoleToMSBuild="true" EchoOff="true" Command="$(SolutionDir)vk.rewrite/bin/$(Configuration)/$(ToolsFramework)/vk.rewrite.exe $(TargetPath)" > <Output TaskParameter="ConsoleOutput" PropertyName="OutputOfExec" /> |