GPUDevice: Ensure 16 byte minimum UBO alignment
This commit is contained in:
parent
4c801c3ff3
commit
0030bc2699
|
@ -746,6 +746,7 @@ bool OpenGLDevice::CreateBuffers()
|
|||
GL_OBJECT_NAME(m_uniform_buffer, "Device Uniform Buffer");
|
||||
|
||||
glGetIntegerv(GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT, reinterpret_cast<GLint*>(&m_uniform_buffer_alignment));
|
||||
m_uniform_buffer_alignment = std::max<GLuint>(m_uniform_buffer_alignment, 16);
|
||||
|
||||
if (!m_disable_pbo)
|
||||
{
|
||||
|
|
|
@ -1976,7 +1976,7 @@ bool VulkanDevice::CreateDeviceAndMainSwapChain(std::string_view adapter, Featur
|
|||
// Read device physical memory properties, we need it for allocating buffers
|
||||
vkGetPhysicalDeviceProperties(m_physical_device, &m_device_properties);
|
||||
m_device_properties.limits.minUniformBufferOffsetAlignment =
|
||||
std::max(m_device_properties.limits.minUniformBufferOffsetAlignment, static_cast<VkDeviceSize>(1));
|
||||
std::max(m_device_properties.limits.minUniformBufferOffsetAlignment, static_cast<VkDeviceSize>(16));
|
||||
m_device_properties.limits.minTexelBufferOffsetAlignment =
|
||||
std::max(m_device_properties.limits.minTexelBufferOffsetAlignment, static_cast<VkDeviceSize>(1));
|
||||
m_device_properties.limits.optimalBufferCopyOffsetAlignment =
|
||||
|
|
Loading…
Reference in New Issue