"stopAtEntry": false,
"console": "internalConsole"
},
+ {
+ "name": ".NET Core Launch (Compute)",
+ "type": "coreclr",
+ "request": "launch",
+ "preLaunchTask": "build Compute",
+ "program": "${workspaceFolder}/build/Debug/netcoreapp3.1/compute",
+ "args": [],
+ "cwd": "${workspaceFolder}/build/Debug/netcoreapp3.1/",
+ "stopAtEntry": false,
+ "console": "internalConsole"
+ },
{
"name": ".NET Core Launch (ExternalMemmories)",
"type": "coreclr",
"console": "internalConsole",
"stopAtEntry": false
},
+ {
+ "name": ".NET Core Launch (Multithreading)",
+ "type": "coreclr",
+ "request": "launch",
+ "preLaunchTask": "build Multithreading",
+ "program": "${workspaceFolder}/build/Debug/netcoreapp3.1/Multithreading",
+ "args": [],
+ "cwd": "${workspaceFolder}/build/Debug/netcoreapp3.1/",
+ "console": "internalConsole",
+ "stopAtEntry": false
+ },
+ {
+ "name": ".NET Core Launch (Multithreading2)",
+ "type": "coreclr",
+ "request": "launch",
+ "preLaunchTask": "build Multithreading2",
+ "program": "${workspaceFolder}/build/Debug/netcoreapp3.1/Multithreading2",
+ "args": [],
+ "cwd": "${workspaceFolder}/build/Debug/netcoreapp3.1/",
+ "console": "internalConsole",
+ "stopAtEntry": false
+ },
{
"name": ".NET Core Attach",
"type": "coreclr",
],
"problemMatcher": "$msCompile"
},
+ {
+ "label": "build Compute",
+ "command": "dotnet",
+ "type": "process",
+ "args": [
+ "build",
+ "${workspaceFolder}/samples/compute/compute.csproj",
+ "/property:GenerateFullPaths=true",
+ "/property:SolutionDir=${workspaceFolder}/",
+ "/property:Configuration=Debug",
+ "/consoleloggerparameters:NoSummary"
+ ],
+ "problemMatcher": "$msCompile"
+ },
{
"label": "build Textured",
"command": "dotnet",
],
"problemMatcher": "$msCompile"
},
+ {
+ "label": "build Multithreading",
+ "command": "dotnet",
+ "type": "process",
+ "args": [
+ "build",
+ "${workspaceFolder}/samples/Multithreading/Multithreading.csproj",
+ "/property:GenerateFullPaths=true",
+ "/property:SolutionDir=${workspaceFolder}/",
+ "/property:Configuration=Debug",
+ "/consoleloggerparameters:NoSummary"
+ ],
+ "problemMatcher": "$msCompile"
+ },
+ {
+ "label": "build Multithreading2",
+ "command": "dotnet",
+ "type": "process",
+ "args": [
+ "build",
+ "${workspaceFolder}/samples/Multithreading2/Multithreading2.csproj",
+ "/property:GenerateFullPaths=true",
+ "/property:SolutionDir=${workspaceFolder}/",
+ "/property:Configuration=Debug",
+ "/consoleloggerparameters:NoSummary"
+ ],
+ "problemMatcher": "$msCompile"
+ },
{
"label": "publish",
"command": "dotnet",
<RestoreAdditionalProjectSources Condition="Exists('$(SolutionDir)build\$(Configuration)\')">$(SolutionDir)build\$(Configuration)\</RestoreAdditionalProjectSources>
<SpirVTasksReleaseVersion>0.1.45</SpirVTasksReleaseVersion>
<SpirVTasksPackageVersion>$(SpirVTasksReleaseVersion)</SpirVTasksPackageVersion>
- <VkeReleaseVersion>0.2.6</VkeReleaseVersion>
+ <VkeReleaseVersion>0.2.7</VkeReleaseVersion>
<VkePackageVersion>$(VkeReleaseVersion)-beta</VkePackageVersion>
<UseStbSharp>true</UseStbSharp>
<UseMemoryPools>false</UseMemoryPools>
grPipeline = new GraphicPipeline (cfg);
- cfg.DisposeShaders ();
+ //cfg.DisposeShaders ();
plCompute = new ComputePipeline (
new PipelineLayout (dev, new VkPushConstantRange (VkShaderStageFlags.Compute, 2 * sizeof (int)), dslCompute),
cmd.Dispatch (imgDim, imgDim);
- VkMemoryBarrier memBar = VkMemoryBarrier.New ();
+ VkMemoryBarrier memBar = new VkMemoryBarrier();
memBar.srcAccessMask = VkAccessFlags.ShaderWrite;
memBar.dstAccessMask = VkAccessFlags.ShaderRead;
Vk.vkCmdPipelineBarrier (cmd.Handle, VkPipelineStageFlags.ComputeShader, VkPipelineStageFlags.ComputeShader, VkDependencyFlags.ByRegion,
printResults ();
}
-
- protected override void onMouseButtonDown (MouseButton button) {
+ protected override void onMouseButtonDown(MouseButton button, Modifier mods) {
int xPad = (int)swapChain.Width / 2 - (int)imgDim * (int)zoom / 2;
int yPad = (int)swapChain.Height / 2 - (int)imgDim * (int)zoom / 2;
int localY = (int)((lastMouseY - yPad) / zoom);
if (localX < 0 || localY < 0 || localX >= imgDim || localY >= imgDim)
- base.onMouseButtonDown (button);
+ base.onMouseButtonDown (button, mods);
else {
addSeed ((uint)localX, (uint)localY);
stagingDataBuff.Update (datas);
dev = new Device (phy);
computeQ = new Queue (dev, VkQueueFlags.Compute);
- dev.Activate (default (VkPhysicalDeviceFeatures));
+ dev.Activate (IntPtr.Zero, default (VkPhysicalDeviceFeatures));
createRandomDatas ();
using System.Numerics;
using System.Runtime.InteropServices;
using Glfw;
-using VK;
-using CVKL;
+using Vulkan;
+using vke;
namespace triangulation {
class Program : VkWindow {
/// destroyed on Dispose.
/// </summary>
public ShaderInfo (VkShaderStageFlags stageFlags, VkShaderModule module, SpecializationInfo specializationInfo = null, string entryPoint = "main") {
+ info = VkPipelineShaderStageCreateInfo.New;
info.stage = stageFlags;
info.pName = entryPoint;
info.module = module;
Cache?.Activate ();
using (ShaderInfo shader = new ShaderInfo (Dev, VkShaderStageFlags.Compute, SpirVPath)) {
- VkComputePipelineCreateInfo info = default;
+ VkComputePipelineCreateInfo info = new VkComputePipelineCreateInfo();
info.layout = layout.Handle;
info.stage = shader.Info;
info.basePipelineHandle = 0;