diff options
| author | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2019-05-02 03:06:12 +0200 |
|---|---|---|
| committer | j-p <jp_bruyere@hotmail.com> | 2019-05-02 03:07:11 +0200 |
| commit | 47990711b9ee73bc300c300315a77534ab2f7928 (patch) | |
| tree | dc50a3a4eeba145bce477088c2caef5ccffa531c | |
| parent | 28019686e4c06aa7b3e1b3a5e33ce7eec0bfeb0a (diff) | |
update samples with mandatory descriptorset allocation after pipeline creation
| -rw-r--r-- | samples/Textured/main.cs | 13 | ||||
| -rw-r--r-- | samples/TexturedCube/main.cs | 12 | ||||
| -rw-r--r-- | samples/compute/compute.csproj | 4 | ||||
| -rw-r--r-- | samples/compute/delaunay.cs | 33 | ||||
| -rw-r--r-- | samples/compute/main.cs | 5 | ||||
| -rw-r--r-- | samples/compute/packages.config | 2 | ||||
| -rw-r--r-- | samples/compute/test.cs | 8 | ||||
| -rw-r--r-- | samples/compute/test2.cs | 28 | ||||
| -rw-r--r-- | samples/pbrSashaWillem/EnvironmentPipeline.cs | 8 | ||||
| -rw-r--r-- | samples/pbrSashaWillem/PbrPipeline.cs | 6 | ||||
| -rw-r--r-- | samples/pbrSashaWillem/SachaWillemPbr.csproj | 2 | ||||
| -rw-r--r-- | samples/pbrSashaWillem/packages.config | 2 |
12 files changed, 62 insertions, 61 deletions
diff --git a/samples/Textured/main.cs b/samples/Textured/main.cs index ec76287..d0c3edb 100644 --- a/samples/Textured/main.cs +++ b/samples/Textured/main.cs @@ -13,10 +13,9 @@ namespace TextureSample { vke.Run (); } } - - protected override void configureEnabledFeatures (ref VkPhysicalDeviceFeatures features) { - base.configureEnabledFeatures (ref features); - features.textureCompressionBC = true; + protected override void configureEnabledFeatures (VkPhysicalDeviceFeatures available_features, ref VkPhysicalDeviceFeatures features) { + base.configureEnabledFeatures (available_features, ref features); + features.textureCompressionBC = available_features.textureCompressionBC; } float rotSpeed = 0.01f, zoomSpeed = 0.01f; @@ -70,9 +69,7 @@ namespace TextureSample { dsLayout = new DescriptorSetLayout (dev, 0, new VkDescriptorSetLayoutBinding (0, VkShaderStageFlags.Vertex, VkDescriptorType.UniformBuffer), new VkDescriptorSetLayoutBinding (1, VkShaderStageFlags.Fragment, VkDescriptorType.CombinedImageSampler)); - - descriptorSet = descriptorPool.Allocate (dsLayout); - + GraphicPipelineConfig cfg = GraphicPipelineConfig.CreateDefault (VkPrimitiveTopology.TriangleList, VkSampleCountFlags.SampleCount1); cfg.Layout = new PipelineLayout (dev, dsLayout); @@ -89,6 +86,8 @@ namespace TextureSample { uboMats = new HostBuffer (dev, VkBufferUsageFlags.UniformBuffer, matrices); uboMats.Map ();//permanent map + descriptorSet = descriptorPool.Allocate (dsLayout); + using (DescriptorSetWrites2 uboUpdate = new DescriptorSetWrites2 (dev)) { uboUpdate.AddWriteInfo (descriptorSet, dsLayout.Bindings[0], uboMats.Descriptor); uboUpdate.Update (); diff --git a/samples/TexturedCube/main.cs b/samples/TexturedCube/main.cs index e0c99e6..4961395 100644 --- a/samples/TexturedCube/main.cs +++ b/samples/TexturedCube/main.cs @@ -99,9 +99,7 @@ namespace TextureCube { dsLayout = new DescriptorSetLayout (dev, 0, new VkDescriptorSetLayoutBinding (0, VkShaderStageFlags.Vertex, VkDescriptorType.UniformBuffer), new VkDescriptorSetLayoutBinding (1, VkShaderStageFlags.Fragment, VkDescriptorType.CombinedImageSampler)); - - descriptorSet = descriptorPool.Allocate (dsLayout); - + GraphicPipelineConfig cfg = GraphicPipelineConfig.CreateDefault (VkPrimitiveTopology.TriangleList, VkSampleCountFlags.SampleCount1); cfg.Layout = new PipelineLayout (dev, dsLayout); @@ -118,6 +116,8 @@ namespace TextureCube { uboMats = new HostBuffer (dev, VkBufferUsageFlags.UniformBuffer, matrices); uboMats.Map ();//permanent map + descriptorSet = descriptorPool.Allocate (dsLayout); + DescriptorSetWrites uboUpdate = new DescriptorSetWrites (descriptorSet, dsLayout.Bindings[0]); uboUpdate.Write (dev, uboMats.Descriptor); @@ -184,9 +184,9 @@ namespace TextureCube { uboMats.Update (matrices, (uint)Marshal.SizeOf<Matrices> ()); } - protected override void configureEnabledFeatures (ref VkPhysicalDeviceFeatures features) { - base.configureEnabledFeatures (ref features); - features.textureCompressionBC = true; + protected override void configureEnabledFeatures (VkPhysicalDeviceFeatures available_features, ref VkPhysicalDeviceFeatures features) { + base.configureEnabledFeatures (available_features, ref features); + features.textureCompressionBC = available_features.textureCompressionBC; } public override void UpdateView () { diff --git a/samples/compute/compute.csproj b/samples/compute/compute.csproj index 1a12215..59a4e1b 100644 --- a/samples/compute/compute.csproj +++ b/samples/compute/compute.csproj @@ -48,14 +48,14 @@ <HintPath>..\..\packages\System.Memory.4.5.2\lib\netstandard2.0\System.Memory.dll</HintPath> </Reference> <Reference Include="VK"> - <HintPath>..\..\packages\Vulkan.0.1.2.5-alpha\lib\netstandard2.0\VK.dll</HintPath> + <HintPath>..\..\packages\Vulkan.0.1.2.6\lib\netstandard2.0\VK.dll</HintPath> </Reference> </ItemGroup> <ItemGroup> <None Include="packages.config" /> </ItemGroup> <ItemGroup> - <ProjectReference Include="..\..\vke\VKE.csproj"> + <ProjectReference Include="..\..\vke\CVKL.csproj"> <Project>{32B7E80D-BEA7-4811-B82D-CC2533069F0A}</Project> <Name>CVKL</Name> </ProjectReference> diff --git a/samples/compute/delaunay.cs b/samples/compute/delaunay.cs index e5ad275..d87c02a 100644 --- a/samples/compute/delaunay.cs +++ b/samples/compute/delaunay.cs @@ -85,22 +85,6 @@ namespace delaunay { new VkDescriptorSetLayoutBinding (0, VkShaderStageFlags.Compute, VkDescriptorType.StorageBuffer), new VkDescriptorSetLayoutBinding (1, VkShaderStageFlags.Compute, VkDescriptorType.StorageBuffer) ); - dsImage = dsPool.Allocate (dslImage); - dsetPing = dsPool.Allocate (dslCompute); - dsetPong = dsPool.Allocate (dslCompute); - - DescriptorSetWrites dsUpdate = new DescriptorSetWrites (dsetPing, dslCompute); - dsUpdate.Write (dev, inBuff.Descriptor, outBuff.Descriptor); - dsUpdate.Write (dev, dsetPong, outBuff.Descriptor, inBuff.Descriptor); - dsUpdate = new DescriptorSetWrites (dsImage, dslImage); - dsUpdate.Write (dev, imgResult.Descriptor); - - plCompute = new ComputePipeline ( - new PipelineLayout (dev, new VkPushConstantRange (VkShaderStageFlags.Compute, 2 * sizeof (int)), dslCompute), - "shaders/computeTest.comp.spv" ); - plNormalize = new ComputePipeline ( - plCompute.Layout, - "shaders/normalize.comp.spv"); GraphicPipelineConfig cfg = GraphicPipelineConfig.CreateDefault (VkPrimitiveTopology.TriangleList, VkSampleCountFlags.SampleCount1); @@ -116,6 +100,23 @@ namespace delaunay { grPipeline = new GraphicPipeline (cfg); + plCompute = new ComputePipeline ( + new PipelineLayout (dev, new VkPushConstantRange (VkShaderStageFlags.Compute, 2 * sizeof (int)), dslCompute), + "shaders/computeTest.comp.spv"); + plNormalize = new ComputePipeline ( + plCompute.Layout, + "shaders/normalize.comp.spv"); + + dsImage = dsPool.Allocate (dslImage); + dsetPing = dsPool.Allocate (dslCompute); + dsetPong = dsPool.Allocate (dslCompute); + + DescriptorSetWrites dsUpdate = new DescriptorSetWrites (dsetPing, dslCompute); + dsUpdate.Write (dev, inBuff.Descriptor, outBuff.Descriptor); + dsUpdate.Write (dev, dsetPong, outBuff.Descriptor, inBuff.Descriptor); + dsUpdate = new DescriptorSetWrites (dsImage, dslImage); + dsUpdate.Write (dev, imgResult.Descriptor); + UpdateFrequency = 5; } diff --git a/samples/compute/main.cs b/samples/compute/main.cs index 77e963e..02f7069 100644 --- a/samples/compute/main.cs +++ b/samples/compute/main.cs @@ -58,11 +58,12 @@ namespace SimpleCompute { new VkDescriptorSetLayoutBinding (0, VkShaderStageFlags.Compute, VkDescriptorType.StorageBuffer), new VkDescriptorSetLayoutBinding (1, VkShaderStageFlags.Compute, VkDescriptorType.StorageBuffer) ); + + plCompute = new ComputePipeline (new PipelineLayout (dev, dsLayout), "shaders/compute.comp.spv" ); + dset = dsPool.Allocate (dsLayout); DescriptorSetWrites dsUpdate = new DescriptorSetWrites (dset, dsLayout); dsUpdate.Write (dev, inBuff.Descriptor, outBuff.Descriptor); - - plCompute = new ComputePipeline (new PipelineLayout (dev, dsLayout), "shaders/compute.comp.spv" ); } diff --git a/samples/compute/packages.config b/samples/compute/packages.config index 164f57b..0f7f451 100644 --- a/samples/compute/packages.config +++ b/samples/compute/packages.config @@ -4,5 +4,5 @@ <package id="System.Memory" version="4.5.2" targetFramework="net471" /> <package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net471" /> <package id="System.Runtime.CompilerServices.Unsafe" version="4.5.2" targetFramework="net471" /> - <package id="Vulkan" version="0.1.2.5-alpha" targetFramework="net471" /> + <package id="Vulkan" version="0.1.2.6" targetFramework="net471" /> </packages>
\ No newline at end of file diff --git a/samples/compute/test.cs b/samples/compute/test.cs index 5b2bc02..a9aa578 100644 --- a/samples/compute/test.cs +++ b/samples/compute/test.cs @@ -61,6 +61,10 @@ namespace test { new VkDescriptorSetLayoutBinding (0, VkShaderStageFlags.Compute, VkDescriptorType.StorageBuffer), new VkDescriptorSetLayoutBinding (1, VkShaderStageFlags.Compute, VkDescriptorType.StorageBuffer) ); + + plCompute = new ComputePipeline ( + new PipelineLayout (dev, new VkPushConstantRange (VkShaderStageFlags.Compute, sizeof (int)), dsLayoutCompute), + "shaders/computeTest.comp.spv" ); dsetPing = dsPool.Allocate (dsLayoutCompute); dsetPong = dsPool.Allocate (dsLayoutCompute); @@ -68,10 +72,6 @@ namespace test { dsUpdate.Write (dev, inBuff.Descriptor, outBuff.Descriptor); dsUpdate.Write (dev, dsetPong, outBuff.Descriptor, inBuff.Descriptor); - - plCompute = new ComputePipeline ( - new PipelineLayout (dev, new VkPushConstantRange (VkShaderStageFlags.Compute, sizeof (int)), dsLayoutCompute), - "shaders/computeTest.comp.spv" ); } diff --git a/samples/compute/test2.cs b/samples/compute/test2.cs index ce7d0e3..689e7e8 100644 --- a/samples/compute/test2.cs +++ b/samples/compute/test2.cs @@ -101,20 +101,6 @@ namespace triangulation { new VkDescriptorSetLayoutBinding (0, VkShaderStageFlags.Compute, VkDescriptorType.StorageBuffer), new VkDescriptorSetLayoutBinding (1, VkShaderStageFlags.Compute, VkDescriptorType.StorageBuffer) ); - dsImage = dsPool.Allocate (dslImage); - dsPing = dsPool.Allocate (dslCompute); - dsPong = dsPool.Allocate (dslCompute); - dsVAO = dsPool.Allocate (dslCompute); - - - DescriptorSetWrites dsUpdate = new DescriptorSetWrites (dsPing, dslCompute); - dsUpdate.Write (dev, inBuff.Descriptor, outBuff.Descriptor); - dsUpdate.Write (dev, dsPong, outBuff.Descriptor, inBuff.Descriptor); - dsUpdate = new DescriptorSetWrites (dsImage, dslImage); - dsUpdate.Write (dev, imgResult.Descriptor); - dsUpdate = new DescriptorSetWrites (dsVAO, dslVAO); - dsUpdate.Write (dev, vbo.Descriptor, ibo.Descriptor); - plInit = new ComputePipeline ( new PipelineLayout (dev, new VkPushConstantRange (VkShaderStageFlags.Compute, 3 * sizeof (int)), dslCompute, dslVAO), @@ -144,6 +130,20 @@ namespace triangulation { trianglesPipeline = new GraphicPipeline (cfg); + dsImage = dsPool.Allocate (dslImage); + dsPing = dsPool.Allocate (dslCompute); + dsPong = dsPool.Allocate (dslCompute); + dsVAO = dsPool.Allocate (dslCompute); + + + DescriptorSetWrites dsUpdate = new DescriptorSetWrites (dsPing, dslCompute); + dsUpdate.Write (dev, inBuff.Descriptor, outBuff.Descriptor); + dsUpdate.Write (dev, dsPong, outBuff.Descriptor, inBuff.Descriptor); + dsUpdate = new DescriptorSetWrites (dsImage, dslImage); + dsUpdate.Write (dev, imgResult.Descriptor); + dsUpdate = new DescriptorSetWrites (dsVAO, dslVAO); + dsUpdate.Write (dev, vbo.Descriptor, ibo.Descriptor); + UpdateFrequency = 5; addPoint (IMG_DIM / 2 - 1, IMG_DIM / 2 - 1); diff --git a/samples/pbrSashaWillem/EnvironmentPipeline.cs b/samples/pbrSashaWillem/EnvironmentPipeline.cs index 010d21d..9127d7f 100644 --- a/samples/pbrSashaWillem/EnvironmentPipeline.cs +++ b/samples/pbrSashaWillem/EnvironmentPipeline.cs @@ -194,13 +194,9 @@ namespace CVKL { DescriptorSetLayout dsLayout = new DescriptorSetLayout (Dev, new VkDescriptorSetLayoutBinding (0, VkShaderStageFlags.Fragment, VkDescriptorType.CombinedImageSampler)); - DescriptorSet dset = dsPool.Allocate (dsLayout); GraphicPipelineConfig cfg = GraphicPipelineConfig.CreateDefault (VkPrimitiveTopology.TriangleList, VkSampleCountFlags.SampleCount1, false); - DescriptorSetWrites dsUpdate = new DescriptorSetWrites (dsLayout); - dsUpdate.Write (Dev, dset, cubemap.Descriptor); - cfg.Layout = new PipelineLayout (Dev, dsLayout); cfg.Layout.AddPushConstants ( new VkPushConstantRange (VkShaderStageFlags.Vertex | VkShaderStageFlags.Fragment, (uint)Marshal.SizeOf<Matrix4x4> () + 8)); @@ -237,6 +233,10 @@ namespace CVKL { VkImageSubresourceRange subRes = new VkImageSubresourceRange (VkImageAspectFlags.Color, 0, numMips, 0, 6); using (GraphicPipeline pl = new GraphicPipeline (cfg)) { + DescriptorSet dset = dsPool.Allocate (dsLayout); + DescriptorSetWrites dsUpdate = new DescriptorSetWrites (dsLayout); + dsUpdate.Write (Dev, dset, cubemap.Descriptor); + using (Framebuffer fb = new Framebuffer (pl.RenderPass, dim, dim, imgFbOffscreen)) { CommandBuffer cmd = cmdPool.AllocateCommandBuffer (); cmd.Start (VkCommandBufferUsageFlags.OneTimeSubmit); diff --git a/samples/pbrSashaWillem/PbrPipeline.cs b/samples/pbrSashaWillem/PbrPipeline.cs index 20a8ae1..fdc6381 100644 --- a/samples/pbrSashaWillem/PbrPipeline.cs +++ b/samples/pbrSashaWillem/PbrPipeline.cs @@ -63,9 +63,7 @@ namespace CVKL { new VkDescriptorSetLayoutBinding (3, VkShaderStageFlags.Fragment, VkDescriptorType.CombinedImageSampler), new VkDescriptorSetLayoutBinding (4, VkShaderStageFlags.Fragment, VkDescriptorType.CombinedImageSampler) ); - - dsMain = descriptorPool.Allocate (descLayoutMain); - + GraphicPipelineConfig cfg = GraphicPipelineConfig.CreateDefault (VkPrimitiveTopology.TriangleList, renderPass.Samples); cfg.Layout = new PipelineLayout (Dev, descLayoutMain, descLayoutTextures); cfg.Layout.AddPushConstants ( @@ -83,6 +81,8 @@ namespace CVKL { init (cfg); + dsMain = descriptorPool.Allocate (descLayoutMain); + envCube = new EnvironmentCube (dsMain, layout, staggingQ, RenderPass); matrices.prefilteredCubeMipLevels = envCube.prefilterCube.CreateInfo.mipLevels; diff --git a/samples/pbrSashaWillem/SachaWillemPbr.csproj b/samples/pbrSashaWillem/SachaWillemPbr.csproj index ebf0b18..75c0a82 100644 --- a/samples/pbrSashaWillem/SachaWillemPbr.csproj +++ b/samples/pbrSashaWillem/SachaWillemPbr.csproj @@ -55,7 +55,7 @@ <HintPath>..\..\packages\Vulkan.0.1.2.6\lib\netstandard2.0\VK.dll</HintPath> </Reference> <Reference Include="vkvg.net"> - <HintPath>..\..\packages\vkvg.net.0.2.1-beta\lib\netstandard2.0\vkvg.net.dll</HintPath> + <HintPath>..\..\packages\vkvg.net.0.2.1.1-beta\lib\netstandard2.0\vkvg.net.dll</HintPath> </Reference> <Reference Include="System.Numerics" /> </ItemGroup> diff --git a/samples/pbrSashaWillem/packages.config b/samples/pbrSashaWillem/packages.config index ec6d23c..4bf92a9 100644 --- a/samples/pbrSashaWillem/packages.config +++ b/samples/pbrSashaWillem/packages.config @@ -6,6 +6,6 @@ <package id="System.Memory" version="4.5.2" targetFramework="net471" /> <package id="System.Numerics.Vectors" version="4.6.0-preview4.19212.13" targetFramework="net471" /> <package id="System.Runtime.CompilerServices.Unsafe" version="4.5.2" targetFramework="net471" /> - <package id="vkvg.net" version="0.2.1-beta" targetFramework="net471" /> + <package id="vkvg.net" version="0.2.1.1-beta" targetFramework="net471" /> <package id="Vulkan" version="0.1.2.6" targetFramework="net471" /> </packages>
\ No newline at end of file |