]> O.S.I.I.S - jp/vke.net.git/commitdiff
compute shader debug
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Sun, 9 Oct 2022 16:32:59 +0000 (18:32 +0200)
committerj-p <jp_bruyere@hotmail.com>
Tue, 1 Nov 2022 20:53:51 +0000 (21:53 +0100)
.vscode/launch.json
.vscode/tasks.json
Directory.Build.props
samples/compute/delaunay.cs
samples/compute/main.cs
samples/compute/test2.cs
vke/src/ShaderInfo.cs
vke/src/base/ComputePipeline.cs

index 39584b883eafe97f25ad7f1b8288043fc3982d2f..541a0b7f5eea2d219b1ae8dad20f6cbcd244f79c 100644 (file)
                        "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",
index b58cf5b4cdeaa4ada960fe9273e67f327f0b738d..504ba80d816cb7fd7bae22590ee51a8cd632bc0c 100644 (file)
                        ],
                        "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",
index c3ea0bb94ae8622f86c352384545b62fcedc0325..022e6eae566c8e51a5f3dafda2911e83e7776221 100644 (file)
@@ -4,7 +4,7 @@
                <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>
index be014071ca596ab85f98e79780c6e406973598f9..d404ce1e0987000d1067e39b9fbcd9e80cf02e6d 100644 (file)
@@ -95,7 +95,7 @@ namespace delaunay {
 
                        grPipeline = new GraphicPipeline (cfg);
                        
-                       cfg.DisposeShaders ();
+                       //cfg.DisposeShaders ();
 
                        plCompute = new ComputePipeline (
                                new PipelineLayout (dev, new VkPushConstantRange (VkShaderStageFlags.Compute, 2 * sizeof (int)), dslCompute),
@@ -192,7 +192,7 @@ namespace delaunay {
 
                                        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,
@@ -219,8 +219,7 @@ namespace delaunay {
 
                        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;
 
@@ -228,7 +227,7 @@ namespace delaunay {
                        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);
index e91ccd9071169da20f3e373e828cfb76c8db835e..29b244dcabf01eb313fd5db0d17d8e99a89f04f2 100644 (file)
@@ -45,7 +45,7 @@ namespace SimpleCompute {
                        dev = new Device (phy);
                        computeQ = new Queue (dev, VkQueueFlags.Compute);
 
-                       dev.Activate (default (VkPhysicalDeviceFeatures));
+                       dev.Activate (IntPtr.Zero, default (VkPhysicalDeviceFeatures));
 
                        createRandomDatas ();
 
index 689e7e85a258b1aecebd2fca5d54cdb3a6db882a..7b46d9feb34277a2d95256705e667d4a8d37619f 100644 (file)
@@ -2,8 +2,8 @@
 using System.Numerics;
 using System.Runtime.InteropServices;
 using Glfw;
-using VK;
-using CVKL;
+using Vulkan;
+using vke;
 
 namespace triangulation {
        class Program : VkWindow {
index 34138b5969224528521e1ba1b395bd727ff9db26..b192a1a3bdc32506f9fe1b62759e2ce5982bcac3 100644 (file)
@@ -56,6 +56,7 @@ namespace vke {
                /// 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;
index efea1039c60f8e4d0c34a2953dc3a5754fca1bc2..492b6ad511a06eb8887c89eb808d82f28acaa58d 100644 (file)
@@ -33,7 +33,7 @@ namespace vke {
                                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;