aboutsummaryrefslogtreecommitdiffstatsci
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2019-05-02 03:06:12 +0200
committerj-p <jp_bruyere@hotmail.com>2019-05-02 03:07:11 +0200
commit47990711b9ee73bc300c300315a77534ab2f7928 (patch)
treedc50a3a4eeba145bce477088c2caef5ccffa531c
parent28019686e4c06aa7b3e1b3a5e33ce7eec0bfeb0a (diff)
update samples with mandatory descriptorset allocation after pipeline creation
-rw-r--r--samples/Textured/main.cs13
-rw-r--r--samples/TexturedCube/main.cs12
-rw-r--r--samples/compute/compute.csproj4
-rw-r--r--samples/compute/delaunay.cs33
-rw-r--r--samples/compute/main.cs5
-rw-r--r--samples/compute/packages.config2
-rw-r--r--samples/compute/test.cs8
-rw-r--r--samples/compute/test2.cs28
-rw-r--r--samples/pbrSashaWillem/EnvironmentPipeline.cs8
-rw-r--r--samples/pbrSashaWillem/PbrPipeline.cs6
-rw-r--r--samples/pbrSashaWillem/SachaWillemPbr.csproj2
-rw-r--r--samples/pbrSashaWillem/packages.config2
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