diff --git a/examples/DeferredShading/main.cpp b/examples/DeferredShading/main.cpp index b29f3fb46..24cdc0344 100644 --- a/examples/DeferredShading/main.cpp +++ b/examples/DeferredShading/main.cpp @@ -311,7 +311,7 @@ int main(int argc, char* argv[]) std::size_t innerAngleOffset = spotLightOffsets.AddField(nzsl::StructFieldType::Float1); std::size_t outerAngleOffset = spotLightOffsets.AddField(nzsl::StructFieldType::Float1); - std::size_t alignedSpotLightSize = Nz::Align(spotLightOffsets.GetAlignedSize(), static_cast(deviceInfo.limits.minUniformBufferOffsetAlignment)); + std::size_t alignedSpotLightSize = Nz::AlignPow2(spotLightOffsets.GetAlignedSize(), static_cast(deviceInfo.limits.minUniformBufferOffsetAlignment)); constexpr std::size_t MaxPointLight = 2000; diff --git a/src/Nazara/Graphics/RenderBufferPool.cpp b/src/Nazara/Graphics/RenderBufferPool.cpp index 5a63705e9..4c905bac4 100644 --- a/src/Nazara/Graphics/RenderBufferPool.cpp +++ b/src/Nazara/Graphics/RenderBufferPool.cpp @@ -24,11 +24,11 @@ namespace Nz break; // TODO case BufferType::Storage: - m_bufferAlignedSize = Align(m_bufferAlignedSize, m_renderDevice->GetDeviceInfo().limits.minStorageBufferOffsetAlignment); + m_bufferAlignedSize = AlignPow2(m_bufferAlignedSize, m_renderDevice->GetDeviceInfo().limits.minStorageBufferOffsetAlignment); break; case BufferType::Uniform: - m_bufferAlignedSize = Align(m_bufferAlignedSize, m_renderDevice->GetDeviceInfo().limits.minUniformBufferOffsetAlignment); + m_bufferAlignedSize = AlignPow2(m_bufferAlignedSize, m_renderDevice->GetDeviceInfo().limits.minUniformBufferOffsetAlignment); break; } } diff --git a/src/Nazara/OpenGLRenderer/OpenGLDevice.cpp b/src/Nazara/OpenGLRenderer/OpenGLDevice.cpp index b35f5f5ab..b2b1a40b6 100644 --- a/src/Nazara/OpenGLRenderer/OpenGLDevice.cpp +++ b/src/Nazara/OpenGLRenderer/OpenGLDevice.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -91,12 +92,12 @@ namespace Nz // Limits m_deviceInfo.limits.maxUniformBufferSize = m_referenceContext->GetInteger(GL_MAX_UNIFORM_BLOCK_SIZE); - m_deviceInfo.limits.minUniformBufferOffsetAlignment = m_referenceContext->GetInteger(GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT); + m_deviceInfo.limits.minUniformBufferOffsetAlignment = RoundToPow2(m_referenceContext->GetInteger(GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT)); if (m_deviceInfo.features.storageBuffers) { m_deviceInfo.limits.maxStorageBufferSize = m_referenceContext->GetInteger(GL_MAX_SHADER_STORAGE_BLOCK_SIZE); - m_deviceInfo.limits.minStorageBufferOffsetAlignment = m_referenceContext->GetInteger(GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT); + m_deviceInfo.limits.minStorageBufferOffsetAlignment = RoundToPow2(m_referenceContext->GetInteger(GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT)); } if (m_deviceInfo.features.computeShaders) diff --git a/src/Nazara/VulkanRenderer/Vulkan.cpp b/src/Nazara/VulkanRenderer/Vulkan.cpp index 1665e0d7a..7eff75594 100644 --- a/src/Nazara/VulkanRenderer/Vulkan.cpp +++ b/src/Nazara/VulkanRenderer/Vulkan.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -69,8 +70,8 @@ namespace Nz deviceInfo.limits.maxComputeWorkGroupInvocations = physDevice.properties.limits.maxComputeWorkGroupInvocations; deviceInfo.limits.maxStorageBufferSize = physDevice.properties.limits.maxStorageBufferRange; deviceInfo.limits.maxUniformBufferSize = physDevice.properties.limits.maxUniformBufferRange; - deviceInfo.limits.minStorageBufferOffsetAlignment = physDevice.properties.limits.minStorageBufferOffsetAlignment; - deviceInfo.limits.minUniformBufferOffsetAlignment = physDevice.properties.limits.minUniformBufferOffsetAlignment; + deviceInfo.limits.minStorageBufferOffsetAlignment = RoundToPow2(physDevice.properties.limits.minStorageBufferOffsetAlignment); + deviceInfo.limits.minUniformBufferOffsetAlignment = RoundToPow2(physDevice.properties.limits.minUniformBufferOffsetAlignment); switch (physDevice.properties.deviceType) { diff --git a/xmake.lua b/xmake.lua index 251d7a206..5c225fdbe 100644 --- a/xmake.lua +++ b/xmake.lua @@ -248,7 +248,7 @@ end add_repositories("nazara-engine-repo https://github.com/NazaraEngine/xmake-repo") -add_requires("entt 3.12.2", "fmt", "frozen", "nazarautils >=2023.08.04") +add_requires("entt 3.12.2", "fmt", "frozen", "nazarautils >=2023.08.31") -- Module dependencies if has_config("audio") then