title: Use correct offset when binding a buffer to a memory
body: <p>I have a big chunk of device memory and multiple uniform buffers which I want to bind. Obviously, I need an offset. Let's see what the documentation for <code>vkBindBufferMemory</code> says:</p>
  
  <blockquote>
    <p><code>memoryOffset</code> is the start offset of the region of memory which is to
    be bound to the buffer...</p>
    
    <p><code>memoryOffset</code> must be an integer multiple of the <code>alignment</code> member of
    the <code>VkMemoryRequirements</code> structure returned from a call to
    <code>vkGetBufferMemoryRequirements</code> with buffer</p>
  </blockquote>
  
  <p>Ok, that's clear - I have multiple uniform buffers created with the same flags so I can use the same alignment for all of them. But wait, there's another usage note for <code>vkBindBufferMemory</code> in specs:</p>
  
  <blockquote>
    <p>If buffer was created with the <code>VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT</code>,
    <code>memoryOffset</code> must be a multiple of
    <code>VkPhysicalDeviceLimits::minUniformBufferOffsetAlignment</code></p>
  </blockquote>
  
  <p>That's confuing. Can I safely use <code>VkPhysicalDeviceLimits::minUniformBufferOffsetAlignment</code> for my case or should I compare it with <code>VkMemoryRequirements::alignment</code> and choose the lowest?</p>