From aab0e2428bf8e7245a9f80549bd13eeb774721f1 Mon Sep 17 00:00:00 2001 From: Erik White <26148654+Erik-White@users.noreply.github.com> Date: Fri, 27 Feb 2026 17:53:40 +0100 Subject: [PATCH] Fix overflow issue --- .../PixelFormats/Generated/D32_FLOAT_S8X24_UINT.cs | 5 ++--- .../PixelFormats/Generated/PixelGenerator.ignore | 14 ++++++-------- .../PixelFormats/Generated/Rgba64Float.cs | 9 ++++----- 3 files changed, 12 insertions(+), 16 deletions(-) diff --git a/src/ImageSharp.Textures/PixelFormats/Generated/D32_FLOAT_S8X24_UINT.cs b/src/ImageSharp.Textures/PixelFormats/Generated/D32_FLOAT_S8X24_UINT.cs index 5c8c2fb6..8d9760ab 100644 --- a/src/ImageSharp.Textures/PixelFormats/Generated/D32_FLOAT_S8X24_UINT.cs +++ b/src/ImageSharp.Textures/PixelFormats/Generated/D32_FLOAT_S8X24_UINT.cs @@ -171,9 +171,8 @@ public override string ToString() private static ulong Pack(ref Vector2 vector) { vector = Vector2.Clamp(vector, Vector2.Zero, Vector2.One); - return (ulong)( - (uint)FloatHelper.PackFloatToFloat32(vector.X) - | (((uint)Math.Round(vector.Y * 255F) & 255) << 32)); + return (ulong)FloatHelper.PackFloatToFloat32(vector.X) + | ((ulong)((uint)Math.Round(vector.Y * 255F) & 255) << 32); } } } diff --git a/src/ImageSharp.Textures/PixelFormats/Generated/PixelGenerator.ignore b/src/ImageSharp.Textures/PixelFormats/Generated/PixelGenerator.ignore index a36f7e81..e33af5c6 100644 --- a/src/ImageSharp.Textures/PixelFormats/Generated/PixelGenerator.ignore +++ b/src/ImageSharp.Textures/PixelFormats/Generated/PixelGenerator.ignore @@ -904,11 +904,10 @@ namespace SixLabors.ImageSharp.Textures.PixelFormats private static ulong Pack(ref Vector4 vector) { vector = Vector4.Clamp(vector, Vector4.Zero, Vector4.One); - return (ulong)( - (uint)FloatHelper.PackFloatToFloat16(vector.X) - | ((uint)FloatHelper.PackFloatToFloat16(vector.Y) << 16) - | ((uint)FloatHelper.PackFloatToFloat16(vector.Z) << 32) - | ((uint)FloatHelper.PackFloatToFloat16(vector.W) << 48)); + return (ulong)FloatHelper.PackFloatToFloat16(vector.X) + | ((ulong)FloatHelper.PackFloatToFloat16(vector.Y) << 16) + | ((ulong)FloatHelper.PackFloatToFloat16(vector.Z) << 32) + | ((ulong)FloatHelper.PackFloatToFloat16(vector.W) << 48); } } } @@ -1598,9 +1597,8 @@ namespace SixLabors.ImageSharp.Textures.PixelFormats private static ulong Pack(ref Vector2 vector) { vector = Vector2.Clamp(vector, Vector2.Zero, Vector2.One); - return (ulong)( - (uint)FloatHelper.PackFloatToFloat32(vector.X) - | (((uint)Math.Round(vector.Y * 255F) & 255) << 32)); + return (ulong)FloatHelper.PackFloatToFloat32(vector.X) + | ((ulong)((uint)Math.Round(vector.Y * 255F) & 255) << 32); } } } diff --git a/src/ImageSharp.Textures/PixelFormats/Generated/Rgba64Float.cs b/src/ImageSharp.Textures/PixelFormats/Generated/Rgba64Float.cs index 8cd8db4f..8be2ec6b 100644 --- a/src/ImageSharp.Textures/PixelFormats/Generated/Rgba64Float.cs +++ b/src/ImageSharp.Textures/PixelFormats/Generated/Rgba64Float.cs @@ -171,11 +171,10 @@ public override string ToString() private static ulong Pack(ref Vector4 vector) { vector = Vector4.Clamp(vector, Vector4.Zero, Vector4.One); - return (ulong)( - (uint)FloatHelper.PackFloatToFloat16(vector.X) - | ((uint)FloatHelper.PackFloatToFloat16(vector.Y) << 16) - | ((uint)FloatHelper.PackFloatToFloat16(vector.Z) << 32) - | ((uint)FloatHelper.PackFloatToFloat16(vector.W) << 48)); + return (ulong)FloatHelper.PackFloatToFloat16(vector.X) + | ((ulong)FloatHelper.PackFloatToFloat16(vector.Y) << 16) + | ((ulong)FloatHelper.PackFloatToFloat16(vector.Z) << 32) + | ((ulong)FloatHelper.PackFloatToFloat16(vector.W) << 48); } } }