aboutsummaryrefslogtreecommitdiffstatsci
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2019-08-28 11:59:29 +0200
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2019-08-28 12:05:59 +0200
commit9c166c3c6ed7239e0743049f753426cc2730dc4b (patch)
tree5f49ee10a230d129ef4fe821b6fa7085a0181a11
parent81a7e4d09b32b1485a24526ac2fc1633411177aa (diff)
debug resize in deferred
-rw-r--r--samples/deferred/DeferredPbrRenderer.cs (renamed from samples/deferred/deferredPbrRenderer.cs)30
-rw-r--r--samples/hdr/Program.cs35
-rw-r--r--vke/src/base/RenderPass.cs16
-rw-r--r--vke/src/base/SubPass.cs7
4 files changed, 24 insertions, 64 deletions
diff --git a/samples/deferred/deferredPbrRenderer.cs b/samples/deferred/DeferredPbrRenderer.cs
index 0a898da..bab629f 100644
--- a/samples/deferred/deferredPbrRenderer.cs
+++ b/samples/deferred/DeferredPbrRenderer.cs
@@ -32,6 +32,7 @@ namespace deferred {
public int lightNumDebug = 0;
public int debugMip = 0;
public int debugFace = 0;
+
const float lightMoveSpeed = 0.1f;
public float exposure = 2.0f;
public float gamma = 1.2f;
@@ -367,6 +368,7 @@ namespace deferred {
cmd.BindDescriptorSet (gBuffPipeline.Layout, dsMain);
envCube.RecordDraw (cmd);
+
renderPass.BeginSubPass (cmd);
if (model != null) {
@@ -394,29 +396,10 @@ namespace deferred {
cmd.Draw (3, 1, 0, 0);
//renderPass.BeginSubPass (cmd);
-
//toneMappingPipeline.Bind (cmd);
//cmd.Draw (3, 1, 0, 0);
renderPass.End (cmd);
-
- /*downSamp.SetLayout (cmd, VkImageAspectFlags.Color, VkImageLayout.ShaderReadOnlyOptimal, VkImageLayout.TransferDstOptimal,
- VkPipelineStageFlags.FragmentShader, VkPipelineStageFlags.Transfer);*/
-
- /*=====
- =========*/
-
- /*
- */
-
- /*======
- downSamp.SetLayout (cmd, VkImageAspectFlags.Color,
- VkAccessFlags.ShaderWrite, VkAccessFlags.ShaderRead,
- VkImageLayout.General, VkImageLayout.ShaderReadOnlyOptimal,
- VkPipelineStageFlags.ComputeShader, VkPipelineStageFlags.FragmentShader);
- =======*/
-
-
}
public void MoveLight (Vector4 dir) {
@@ -446,7 +429,6 @@ namespace deferred {
#endregion
- const int blurScale = 4;
void createGBuff () {
gbColorRough?.Dispose ();
@@ -495,6 +477,9 @@ namespace deferred {
}
public void Resize (uint width, uint height) {
+ this.width = width;
+ this.height = height;
+
frameBuffer?.Dispose ();
createGBuff ();
@@ -517,11 +502,6 @@ namespace deferred {
hdrImgMS?.Dispose ();
hdrImgResolved.Dispose ();
- //downSamp.Dispose ();
- //downSamp2.Dispose ();
- //plBlur.Dispose ();
- //dsLayoutBlur.Dispose ();
-
gBuffPipeline.Dispose ();
composePipeline.Dispose ();
//toneMappingPipeline.Dispose ();
diff --git a/samples/hdr/Program.cs b/samples/hdr/Program.cs
index 0f34ddf..2f030a7 100644
--- a/samples/hdr/Program.cs
+++ b/samples/hdr/Program.cs
@@ -13,42 +13,8 @@ namespace tests {
}
}
- DebugReport dbgReport;
- CVKL.DebugUtils.Messenger msg;
-
- Image img;
Program () : base () {
- msg = new CVKL.DebugUtils.Messenger (instance);
-
- dbgReport = new DebugReport (instance,
- VkDebugReportFlagsEXT.DebugEXT |
- VkDebugReportFlagsEXT.ErrorEXT |
- VkDebugReportFlagsEXT.WarningEXT |
- VkDebugReportFlagsEXT.PerformanceWarningEXT |
- VkDebugReportFlagsEXT.InformationEXT);
-
-
- CommandBuffer cmd = cmdPool.AllocateAndStart (VkCommandBufferUsageFlags.OneTimeSubmit);
-
- using (StbImage stbi = new StbImage ("data/textures/texture.jpg")) {
-
- img = new Image (dev, VkFormat.R8g8b8a8Unorm, VkImageUsageFlags.TransferSrc | VkImageUsageFlags.TransferDst,
- VkMemoryPropertyFlags.DeviceLocal, (uint)stbi.Width, (uint)stbi.Height, VkImageType.Image2D,
- VkSampleCountFlags.SampleCount1, VkImageTiling.Optimal, Image.ComputeMipLevels (stbi.Width, stbi.Height));
-
- using (HostBuffer stag = new HostBuffer (dev, VkBufferUsageFlags.TransferSrc, (ulong)stbi.Size, stbi.Handle)) {
-
- stag.CopyTo (cmd, img, VkImageLayout.TransferSrcOptimal);
- img.BuildMipmaps (cmd);
-
- cmd.End ();
- presentQueue.Submit (cmd);
- presentQueue.WaitIdle ();
- cmd.Free ();
-
- }
- }
}
@@ -57,7 +23,6 @@ namespace tests {
protected override void Dispose (bool disposing) {
if (disposing) {
if (!isDisposed) {
- dbgReport?.Dispose ();
}
}
base.Dispose ();
diff --git a/vke/src/base/RenderPass.cs b/vke/src/base/RenderPass.cs
index 69203aa..40401d5 100644
--- a/vke/src/base/RenderPass.cs
+++ b/vke/src/base/RenderPass.cs
@@ -44,6 +44,7 @@ namespace CVKL {
=> new VkDebugMarkerObjectNameInfoEXT(VkDebugReportObjectTypeEXT.RenderPassEXT, handle.Handle);
#region CTORS
+
public RenderPass (Device device, VkSampleCountFlags samples = VkSampleCountFlags.SampleCount1) : base(device) {
Samples = samples;
}
@@ -175,8 +176,16 @@ namespace CVKL {
finalLayout = finalLayout,
});
}
+ //public void AddDependency (SubPass srcSubpass, SubPass dstSubpass,
+ // VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask,
+ // VkAccessFlags srcAccessMask, VkAccessFlags dstAccessMask,
+ // VkDependencyFlags dependencyFlags = VkDependencyFlags.ByRegion) {
+
+ // AddDependency (srcSubpass.Index, dstSubpass.Index, srcStageMask, dstStageMask,
+ // srcAccessMask, dstAccessMask, dependencyFlags);
+ //}
- public void AddDependency (uint srcSubpass, uint dstSubpass,
+ public void AddDependency (uint srcSubpass, uint dstSubpass,
VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask,
VkAccessFlags srcAccessMask, VkAccessFlags dstAccessMask,
VkDependencyFlags dependencyFlags = VkDependencyFlags.ByRegion) {
@@ -191,7 +200,10 @@ namespace CVKL {
});
}
public void AddSubpass (params SubPass[] subPass) {
- subpasses.AddRange (subPass);
+ for (uint i = 0; i < subPass.Length; i++) {
+ subPass[i].Index = (uint)subpasses.Count + i;
+ subpasses.Add (subPass[i]);
+ }
}
/// <summary>
/// Begin Render pass with framebuffer extent dimensions
diff --git a/vke/src/base/SubPass.cs b/vke/src/base/SubPass.cs
index e0998e8..2396cdb 100644
--- a/vke/src/base/SubPass.cs
+++ b/vke/src/base/SubPass.cs
@@ -28,7 +28,8 @@ using VK;
namespace CVKL {
public class SubPass {
- List<VkAttachmentReference> colorRefs = new List<VkAttachmentReference>();
+ public uint Index { get; internal set; }
+ List<VkAttachmentReference> colorRefs = new List<VkAttachmentReference>();
List<VkAttachmentReference> inputRefs = new List<VkAttachmentReference>();
MarshaledObject<VkAttachmentReference> depthRef;
List<VkAttachmentReference> resolveRefs = new List<VkAttachmentReference>();
@@ -113,5 +114,7 @@ namespace CVKL {
if (resolveRefs.Count > 0)
resolveRefs.Unpin ();
}
- }
+
+ public static implicit operator uint(SubPass sp) => sp.Index;
+ }
}