Add RoundUpToMultiple and DivideAndRoundUp functions to MathUtils.h (#6989)
* Add RoundUpToMultiple and DivideAndRoundUp functions to MathUtils.h Signed-off-by: Tommy Walton <waltont@amazon.com> * Rename DivideByMultiple2 back to DivideByMultiple, now that I've confirmed it's not in use in the codebase. RHI::DivideByMultiple can be fully deprecated in favor of AZ::DivideAndRoundUp at a later date, once the deprecation strategy has been finalized. Signed-off-by: Tommy Walton <waltont@amazon.com> * Update based on PR feedback Signed-off-by: Tommy Walton <waltont@amazon.com> * Switched from std::numeric_limits to AZStd::numeric_limits and updated the header to indicate it works for non-power of two alignments, but that SizeAlignUp is more efficient if the alignment is a power of 2 Signed-off-by: Tommy Walton <waltont@amazon.com> * Added missing arguments to the assert, and a missing namespace and include that failed to compile on non-unity builds Signed-off-by: Tommy Walton <waltont@amazon.com>
This commit is contained in:
@@ -334,16 +334,11 @@ void DebugComponent::FillSectorEnd([[maybe_unused]] int sectorX, [[maybe_unused]
|
||||
|
||||
namespace DebugComponentUtilities
|
||||
{
|
||||
constexpr uint32 RoundUpAndDivide(uint32 value, uint32 divide)
|
||||
{
|
||||
return (value + divide - 1) / divide;
|
||||
}
|
||||
|
||||
template <typename ValueType>
|
||||
union LocalAliasingUnion
|
||||
{
|
||||
ValueType aliasedValue;
|
||||
AZStd::size_t aliasedValueArray[RoundUpAndDivide(sizeof(ValueType), sizeof(AZStd::size_t))] = {};
|
||||
AZStd::size_t aliasedValueArray[AZ::DivideAndRoundUp(sizeof(ValueType), sizeof(AZStd::size_t))] = {};
|
||||
};
|
||||
|
||||
template <typename ValueType>
|
||||
|
||||
Reference in New Issue
Block a user