//Helper methods

        protected unsafe Fence CreateFence(bool initialState = false)
        {
            FenceCreateInfo info = new FenceCreateInfo(flags: initialState ? FenceCreateFlags.FenceCreateSignaledBit : 0);

            Fence fence;
            var   res = VkApi.CreateFence(this.Device, &info, null, &fence);

            if (res != Result.Success)
            {
                throw new VulkanResultException("Unable to create Fence!", res);
            }

            return(fence);
        }