diff --git a/src/graphics/host_gpu/renderer/pipeline/descriptors.cpp b/src/graphics/host_gpu/renderer/pipeline/descriptors.cpp index 9b73e1ce1..5c50f737a 100644 --- a/src/graphics/host_gpu/renderer/pipeline/descriptors.cpp +++ b/src/graphics/host_gpu/renderer/pipeline/descriptors.cpp @@ -763,12 +763,13 @@ void RenderExecutor::FindBuffers(std::span stages) { } } } - } else { - const auto& graphics = m_context.GetGraphics(); - const auto limit = uint64_t {graphics.GetPhysicalDeviceProperties().limits.maxStorageBufferRange} - - (graphics.StorageMinAlignment() - 1); - size = std::min({size, uint64_t {256} * 1024 * 1024, limit}); } + // PPSA15246 + const auto& graphics = m_context.GetGraphics(); + const auto limit = + uint64_t {graphics.GetPhysicalDeviceProperties().limits.maxStorageBufferRange} - + (graphics.StorageMinAlignment() - 1); + size = std::min({size, uint64_t {256} * 1024 * 1024, limit}); } // Finite GPU descriptors can span sparse PRT holes; clamp only oversized/sentinel ranges. if (size >= (uint64_t {1} << 30u) || descriptor.NumRecords() == UINT32_MAX) {