void recordDraw(CommandBuffer cmd, Framebuffer fb) { cmd.BeginRegion("models", 0.5f, 1f, 0f); pipeline.RenderPass.Begin(cmd, fb); cmd.SetViewport(fb.Width, fb.Height); cmd.SetScissor(fb.Width, fb.Height); cmd.BindDescriptorSet(pipeline.Layout, dsMats); pipeline.Bind(cmd); model.Bind(cmd); model.DrawAll(cmd, pipeline.Layout); cmd.EndRegion(); cmd.BeginRegion("vkvg", 0.5f, 1f, 0f); uiPipeline.Bind(cmd); timestampQPool.Start(cmd); vkvgImage.SetLayout(cmd, VkImageAspectFlags.Color, VkImageLayout.ColorAttachmentOptimal, VkImageLayout.ShaderReadOnlyOptimal, VkPipelineStageFlags.ColorAttachmentOutput, VkPipelineStageFlags.FragmentShader); cmd.Draw(3, 1, 0, 0); vkvgImage.SetLayout(cmd, VkImageAspectFlags.Color, VkImageLayout.ShaderReadOnlyOptimal, VkImageLayout.ColorAttachmentOptimal, VkPipelineStageFlags.FragmentShader, VkPipelineStageFlags.BottomOfPipe); timestampQPool.End(cmd); pipeline.RenderPass.End(cmd); cmd.EndRegion(); }