VkDescriptorBufferInfo 'range' 字段是否需要是 VkPhysicalDeviceProperties 'limits.minUniformBufferOffsetAlignment' 字段的倍数?
Does VkDescriptorBufferInfo 'range' field need to be a multiple of VkPhysicalDeviceProperties 'limits.minUniformBufferOffsetAlignment' field?
我必须将 3x3 矩阵发送到动态统一缓冲区对象中的顶点着色器,但在创建 VkDescriptorBufferInfo 时卡住了:
VkDescriptorBufferInfo bufferInfo = {};
bufferInfo.range = ...?
问题是,我的 'limits.minUniformBufferOffsetAlignment' 是 32,但是 3x3 矩阵是 36,除了我知道的动态偏移之外,它们 必须 是以下的倍数该值(因此在本例中为 3x3 矩阵,每隔 0、64、128,...),那个 'range' 字段呢?
我要写36还是64?谢谢
Vulkan 不要求对齐描述符的范围。但是您也可以对齐它;你不能用这些字节做任何其他事情。
我必须将 3x3 矩阵发送到动态统一缓冲区对象中的顶点着色器,但在创建 VkDescriptorBufferInfo 时卡住了:
VkDescriptorBufferInfo bufferInfo = {};
bufferInfo.range = ...?
问题是,我的 'limits.minUniformBufferOffsetAlignment' 是 32,但是 3x3 矩阵是 36,除了我知道的动态偏移之外,它们 必须 是以下的倍数该值(因此在本例中为 3x3 矩阵,每隔 0、64、128,...),那个 'range' 字段呢?
我要写36还是64?谢谢
Vulkan 不要求对齐描述符的范围。但是您也可以对齐它;你不能用这些字节做任何其他事情。