Refactor texel buffer reads

- Removed unnecessary Min() for R8G8B8A8_SNORM
  (see https://www.khronos.org/registry/vulkan/specs/1.1/html/vkspec.html#fundamentals-fixedfpconv)​
- Removed redundant parenthesis.
- Used hexadecimals for the normalization factor (to match mask).
- Used uppercase for hexadecimals.
- Used decimal point for floating-point constants.

Bug: b/159561781
Change-Id: I4eed4be3ec9b58bb43652de396bd3a34813eb283
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46010
Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
diff --git a/src/Pipeline/SpirvShaderImage.cpp b/src/Pipeline/SpirvShaderImage.cpp
index f79ef02..2b7e239 100644
--- a/src/Pipeline/SpirvShaderImage.cpp
+++ b/src/Pipeline/SpirvShaderImage.cpp
@@ -676,27 +676,27 @@
 		case VK_FORMAT_D32_SFLOAT_S8_UINT:
 			dst.move(0, packed[0]);
 			// Fill remaining channels with 0,0,1 (of the correct type)
-			dst.move(1, SIMD::Float(0));
-			dst.move(2, SIMD::Float(0));
-			dst.move(3, SIMD::Float(1));
+			dst.move(1, SIMD::Float(0.0f));
+			dst.move(2, SIMD::Float(0.0f));
+			dst.move(3, SIMD::Float(1.0f));
 			break;
 		case VK_FORMAT_D16_UNORM:
-			dst.move(0, SIMD::Float(packed[0] & SIMD::Int(0xffff)) * SIMD::Float(1.0f / 65535.0f));
-			dst.move(1, SIMD::Float(0));
-			dst.move(2, SIMD::Float(0));
-			dst.move(3, SIMD::Float(1));
+			dst.move(0, SIMD::Float(packed[0] & SIMD::Int(0xFFFF)) * SIMD::Float(1.0f / 0xFFFF));
+			dst.move(1, SIMD::Float(0.0f));
+			dst.move(2, SIMD::Float(0.0f));
+			dst.move(3, SIMD::Float(1.0f));
 			break;
 		case VK_FORMAT_R16G16B16A16_SINT:
 			dst.move(0, (packed[0] << 16) >> 16);
-			dst.move(1, (packed[0]) >> 16);
+			dst.move(1, packed[0] >> 16);
 			dst.move(2, (packed[1] << 16) >> 16);
-			dst.move(3, (packed[1]) >> 16);
+			dst.move(3, packed[1] >> 16);
 			break;
 		case VK_FORMAT_R16G16B16A16_UINT:
-			dst.move(0, packed[0] & SIMD::Int(0xffff));
-			dst.move(1, (packed[0] >> 16) & SIMD::Int(0xffff));
-			dst.move(2, packed[1] & SIMD::Int(0xffff));
-			dst.move(3, (packed[1] >> 16) & SIMD::Int(0xffff));
+			dst.move(0, packed[0] & SIMD::Int(0xFFFF));
+			dst.move(1, (packed[0] >> 16) & SIMD::Int(0xFFFF));
+			dst.move(2, packed[1] & SIMD::Int(0xFFFF));
+			dst.move(3, (packed[1] >> 16) & SIMD::Int(0xFFFF));
 			break;
 		case VK_FORMAT_R16G16B16A16_SFLOAT:
 			dst.move(0, halfToFloatBits(As<SIMD::UInt>(packed[0]) & SIMD::UInt(0x0000FFFF)));
@@ -706,66 +706,66 @@
 			break;
 		case VK_FORMAT_R8G8B8A8_SNORM:
 		case VK_FORMAT_A8B8G8R8_SNORM_PACK32:
-			dst.move(0, Min(Max(SIMD::Float(((packed[0] << 24) & SIMD::Int(0xFF000000))) * SIMD::Float(1.0f / float(0x7f000000)), SIMD::Float(-1.0f)), SIMD::Float(1.0f)));
-			dst.move(1, Min(Max(SIMD::Float(((packed[0] << 16) & SIMD::Int(0xFF000000))) * SIMD::Float(1.0f / float(0x7f000000)), SIMD::Float(-1.0f)), SIMD::Float(1.0f)));
-			dst.move(2, Min(Max(SIMD::Float(((packed[0] << 8) & SIMD::Int(0xFF000000))) * SIMD::Float(1.0f / float(0x7f000000)), SIMD::Float(-1.0f)), SIMD::Float(1.0f)));
-			dst.move(3, Min(Max(SIMD::Float(((packed[0]) & SIMD::Int(0xFF000000))) * SIMD::Float(1.0f / float(0x7f000000)), SIMD::Float(-1.0f)), SIMD::Float(1.0f)));
+			dst.move(0, Max(SIMD::Float((packed[0] << 24) & SIMD::Int(0xFF000000)) * SIMD::Float(1.0f / 0x7F000000), SIMD::Float(-1.0f)));
+			dst.move(1, Max(SIMD::Float((packed[0] << 16) & SIMD::Int(0xFF000000)) * SIMD::Float(1.0f / 0x7F000000), SIMD::Float(-1.0f)));
+			dst.move(2, Max(SIMD::Float((packed[0] << 8) & SIMD::Int(0xFF000000)) * SIMD::Float(1.0f / 0x7F000000), SIMD::Float(-1.0f)));
+			dst.move(3, Max(SIMD::Float((packed[0]) & SIMD::Int(0xFF000000)) * SIMD::Float(1.0f / 0x7F000000), SIMD::Float(-1.0f)));
 			break;
 		case VK_FORMAT_R8G8B8A8_UNORM:
 		case VK_FORMAT_A8B8G8R8_UNORM_PACK32:
-			dst.move(0, SIMD::Float((packed[0] & SIMD::Int(0xFF))) * SIMD::Float(1.0f / 255.f));
-			dst.move(1, SIMD::Float(((packed[0] >> 8) & SIMD::Int(0xFF))) * SIMD::Float(1.0f / 255.f));
-			dst.move(2, SIMD::Float(((packed[0] >> 16) & SIMD::Int(0xFF))) * SIMD::Float(1.0f / 255.f));
-			dst.move(3, SIMD::Float(((packed[0] >> 24) & SIMD::Int(0xFF))) * SIMD::Float(1.0f / 255.f));
+			dst.move(0, SIMD::Float(packed[0] & SIMD::Int(0xFF)) * SIMD::Float(1.0f / 0xFF));
+			dst.move(1, SIMD::Float((packed[0] >> 8) & SIMD::Int(0xFF)) * SIMD::Float(1.0f / 0xFF));
+			dst.move(2, SIMD::Float((packed[0] >> 16) & SIMD::Int(0xFF)) * SIMD::Float(1.0f / 0xFF));
+			dst.move(3, SIMD::Float((packed[0] >> 24) & SIMD::Int(0xFF)) * SIMD::Float(1.0f / 0xFF));
 			break;
 		case VK_FORMAT_R8G8B8A8_SRGB:
 		case VK_FORMAT_A8B8G8R8_SRGB_PACK32:
-			dst.move(0, ::sRGBtoLinear(SIMD::Float((packed[0] & SIMD::Int(0xFF))) * SIMD::Float(1.0f / 255.f)));
-			dst.move(1, ::sRGBtoLinear(SIMD::Float(((packed[0] >> 8) & SIMD::Int(0xFF))) * SIMD::Float(1.0f / 255.f)));
-			dst.move(2, ::sRGBtoLinear(SIMD::Float(((packed[0] >> 16) & SIMD::Int(0xFF))) * SIMD::Float(1.0f / 255.f)));
-			dst.move(3, SIMD::Float(((packed[0] >> 24) & SIMD::Int(0xFF))) * SIMD::Float(1.0f / 255.f));
+			dst.move(0, ::sRGBtoLinear(SIMD::Float(packed[0] & SIMD::Int(0xFF)) * SIMD::Float(1.0f / 0xFF)));
+			dst.move(1, ::sRGBtoLinear(SIMD::Float((packed[0] >> 8) & SIMD::Int(0xFF)) * SIMD::Float(1.0f / 0xFF)));
+			dst.move(2, ::sRGBtoLinear(SIMD::Float((packed[0] >> 16) & SIMD::Int(0xFF)) * SIMD::Float(1.0f / 0xFF)));
+			dst.move(3, SIMD::Float((packed[0] >> 24) & SIMD::Int(0xFF)) * SIMD::Float(1.0f / 0xFF));
 			break;
 		case VK_FORMAT_B8G8R8A8_UNORM:
-			dst.move(0, SIMD::Float(((packed[0] >> 16) & SIMD::Int(0xFF))) * SIMD::Float(1.0f / 255.f));
-			dst.move(1, SIMD::Float(((packed[0] >> 8) & SIMD::Int(0xFF))) * SIMD::Float(1.0f / 255.f));
-			dst.move(2, SIMD::Float((packed[0] & SIMD::Int(0xFF))) * SIMD::Float(1.0f / 255.f));
-			dst.move(3, SIMD::Float(((packed[0] >> 24) & SIMD::Int(0xFF))) * SIMD::Float(1.0f / 255.f));
+			dst.move(0, SIMD::Float((packed[0] >> 16) & SIMD::Int(0xFF)) * SIMD::Float(1.0f / 0xFF));
+			dst.move(1, SIMD::Float((packed[0] >> 8) & SIMD::Int(0xFF)) * SIMD::Float(1.0f / 0xFF));
+			dst.move(2, SIMD::Float(packed[0] & SIMD::Int(0xFF)) * SIMD::Float(1.0f / 0xFF));
+			dst.move(3, SIMD::Float((packed[0] >> 24) & SIMD::Int(0xFF)) * SIMD::Float(1.0f / 0xFF));
 			break;
 		case VK_FORMAT_B8G8R8A8_SRGB:
-			dst.move(0, ::sRGBtoLinear(SIMD::Float(((packed[0] >> 16) & SIMD::Int(0xFF))) * SIMD::Float(1.0f / 255.f)));
-			dst.move(1, ::sRGBtoLinear(SIMD::Float(((packed[0] >> 8) & SIMD::Int(0xFF))) * SIMD::Float(1.0f / 255.f)));
-			dst.move(2, ::sRGBtoLinear(SIMD::Float((packed[0] & SIMD::Int(0xFF))) * SIMD::Float(1.0f / 255.f)));
-			dst.move(3, SIMD::Float(((packed[0] >> 24) & SIMD::Int(0xFF))) * SIMD::Float(1.0f / 255.f));
+			dst.move(0, ::sRGBtoLinear(SIMD::Float((packed[0] >> 16) & SIMD::Int(0xFF)) * SIMD::Float(1.0f / 0xFF)));
+			dst.move(1, ::sRGBtoLinear(SIMD::Float((packed[0] >> 8) & SIMD::Int(0xFF)) * SIMD::Float(1.0f / 0xFF)));
+			dst.move(2, ::sRGBtoLinear(SIMD::Float(packed[0] & SIMD::Int(0xFF)) * SIMD::Float(1.0f / 0xFF)));
+			dst.move(3, SIMD::Float((packed[0] >> 24) & SIMD::Int(0xFF)) * SIMD::Float(1.0f / 0xFF));
 			break;
 		case VK_FORMAT_R8G8B8A8_UINT:
 		case VK_FORMAT_A8B8G8R8_UINT_PACK32:
-			dst.move(0, (As<SIMD::UInt>(packed[0]) & SIMD::UInt(0xFF)));
-			dst.move(1, ((As<SIMD::UInt>(packed[0]) >> 8) & SIMD::UInt(0xFF)));
-			dst.move(2, ((As<SIMD::UInt>(packed[0]) >> 16) & SIMD::UInt(0xFF)));
-			dst.move(3, ((As<SIMD::UInt>(packed[0]) >> 24) & SIMD::UInt(0xFF)));
+			dst.move(0, As<SIMD::UInt>(packed[0]) & SIMD::UInt(0xFF));
+			dst.move(1, (As<SIMD::UInt>(packed[0]) >> 8) & SIMD::UInt(0xFF));
+			dst.move(2, (As<SIMD::UInt>(packed[0]) >> 16) & SIMD::UInt(0xFF));
+			dst.move(3, (As<SIMD::UInt>(packed[0]) >> 24) & SIMD::UInt(0xFF));
 			break;
 		case VK_FORMAT_R8G8B8A8_SINT:
 		case VK_FORMAT_A8B8G8R8_SINT_PACK32:
 			dst.move(0, (packed[0] << 24) >> 24);
 			dst.move(1, (packed[0] << 16) >> 24);
 			dst.move(2, (packed[0] << 8) >> 24);
-			dst.move(3, (packed[0]) >> 24);
+			dst.move(3, packed[0] >> 24);
 			break;
 		case VK_FORMAT_R8_UNORM:
-			dst.move(0, SIMD::Float((packed[0] & SIMD::Int(0xFF))) * SIMD::Float(1.0f / 255.f));
-			dst.move(1, SIMD::Float(0));
-			dst.move(2, SIMD::Float(0));
-			dst.move(3, SIMD::Float(1));
+			dst.move(0, SIMD::Float((packed[0] & SIMD::Int(0xFF))) * SIMD::Float(1.0f / 0xFF));
+			dst.move(1, SIMD::Float(0.0f));
+			dst.move(2, SIMD::Float(0.0f));
+			dst.move(3, SIMD::Float(1.0f));
 			break;
 		case VK_FORMAT_R8_SNORM:
 			dst.move(0, Max(SIMD::Float((packed[0] << 24) & SIMD::Int(0xFF000000)) * SIMD::Float(1.0f / 0x7F000000), SIMD::Float(-1.0f)));
-			dst.move(1, SIMD::Float(0));
-			dst.move(2, SIMD::Float(0));
-			dst.move(3, SIMD::Float(1));
+			dst.move(1, SIMD::Float(0.0f));
+			dst.move(2, SIMD::Float(0.0f));
+			dst.move(3, SIMD::Float(1.0f));
 			break;
 		case VK_FORMAT_R8_UINT:
 		case VK_FORMAT_S8_UINT:
-			dst.move(0, (As<SIMD::UInt>(packed[0]) & SIMD::UInt(0xFF)));
+			dst.move(0, As<SIMD::UInt>(packed[0]) & SIMD::UInt(0xFF));
 			dst.move(1, SIMD::UInt(0));
 			dst.move(2, SIMD::UInt(0));
 			dst.move(3, SIMD::UInt(1));
@@ -777,20 +777,20 @@
 			dst.move(3, SIMD::Int(1));
 			break;
 		case VK_FORMAT_R8G8_UNORM:
-			dst.move(0, SIMD::Float((packed[0] & SIMD::Int(0xFF))) * SIMD::Float(1.0f / 255.f));
-			dst.move(1, SIMD::Float(((packed[0] >> 8) & SIMD::Int(0xFF))) * SIMD::Float(1.0f / 255.f));
-			dst.move(2, SIMD::Float(0));
-			dst.move(3, SIMD::Float(1));
+			dst.move(0, SIMD::Float(packed[0] & SIMD::Int(0xFF)) * SIMD::Float(1.0f / 0xFF));
+			dst.move(1, SIMD::Float((packed[0] >> 8) & SIMD::Int(0xFF)) * SIMD::Float(1.0f / 0xFF));
+			dst.move(2, SIMD::Float(0.0f));
+			dst.move(3, SIMD::Float(1.0f));
 			break;
 		case VK_FORMAT_R8G8_SNORM:
 			dst.move(0, Max(SIMD::Float((packed[0] << 24) & SIMD::Int(0xFF000000)) * SIMD::Float(1.0f / 0x7F000000), SIMD::Float(-1.0f)));
 			dst.move(1, Max(SIMD::Float((packed[0] << 16) & SIMD::Int(0xFF000000)) * SIMD::Float(1.0f / 0x7F000000), SIMD::Float(-1.0f)));
-			dst.move(2, SIMD::Float(0));
-			dst.move(3, SIMD::Float(1));
+			dst.move(2, SIMD::Float(0.0f));
+			dst.move(3, SIMD::Float(1.0f));
 			break;
 		case VK_FORMAT_R8G8_UINT:
-			dst.move(0, (As<SIMD::UInt>(packed[0]) & SIMD::UInt(0xFF)));
-			dst.move(1, ((As<SIMD::UInt>(packed[0]) >> 8) & SIMD::UInt(0xFF)));
+			dst.move(0, As<SIMD::UInt>(packed[0]) & SIMD::UInt(0xFF));
+			dst.move(1, (As<SIMD::UInt>(packed[0]) >> 8) & SIMD::UInt(0xFF));
 			dst.move(2, SIMD::UInt(0));
 			dst.move(3, SIMD::UInt(1));
 			break;
@@ -802,12 +802,12 @@
 			break;
 		case VK_FORMAT_R16_SFLOAT:
 			dst.move(0, halfToFloatBits(As<SIMD::UInt>(packed[0]) & SIMD::UInt(0x0000FFFF)));
-			dst.move(1, SIMD::Float(0));
-			dst.move(2, SIMD::Float(0));
-			dst.move(3, SIMD::Float(1));
+			dst.move(1, SIMD::Float(0.0f));
+			dst.move(2, SIMD::Float(0.0f));
+			dst.move(3, SIMD::Float(1.0f));
 			break;
 		case VK_FORMAT_R16_UINT:
-			dst.move(0, packed[0] & SIMD::Int(0xffff));
+			dst.move(0, packed[0] & SIMD::Int(0xFFFF));
 			dst.move(1, SIMD::UInt(0));
 			dst.move(2, SIMD::UInt(0));
 			dst.move(3, SIMD::UInt(1));
@@ -821,18 +821,18 @@
 		case VK_FORMAT_R16G16_SFLOAT:
 			dst.move(0, halfToFloatBits(As<SIMD::UInt>(packed[0]) & SIMD::UInt(0x0000FFFF)));
 			dst.move(1, halfToFloatBits((As<SIMD::UInt>(packed[0]) & SIMD::UInt(0xFFFF0000)) >> 16));
-			dst.move(2, SIMD::Float(0));
-			dst.move(3, SIMD::Float(1));
+			dst.move(2, SIMD::Float(0.0f));
+			dst.move(3, SIMD::Float(1.0f));
 			break;
 		case VK_FORMAT_R16G16_UINT:
-			dst.move(0, packed[0] & SIMD::Int(0xffff));
-			dst.move(1, (packed[0] >> 16) & SIMD::Int(0xffff));
+			dst.move(0, packed[0] & SIMD::Int(0xFFFF));
+			dst.move(1, (packed[0] >> 16) & SIMD::Int(0xFFFF));
 			dst.move(2, SIMD::UInt(0));
 			dst.move(3, SIMD::UInt(1));
 			break;
 		case VK_FORMAT_R16G16_SINT:
 			dst.move(0, (packed[0] << 16) >> 16);
-			dst.move(1, (packed[0]) >> 16);
+			dst.move(1, packed[0] >> 16);
 			dst.move(2, SIMD::Int(0));
 			dst.move(3, SIMD::Int(1));
 			break;
@@ -846,17 +846,17 @@
 		case VK_FORMAT_R32G32_SFLOAT:
 			dst.move(0, packed[0]);
 			dst.move(1, packed[1]);
-			dst.move(2, SIMD::Float(0));
-			dst.move(3, SIMD::Float(1));
+			dst.move(2, SIMD::Float(0.0f));
+			dst.move(3, SIMD::Float(1.0f));
 			break;
 		case VK_FORMAT_A2B10G10R10_UINT_PACK32:
-			dst.move(0, (packed[0]) & SIMD::Int(0x3FF));
+			dst.move(0, packed[0] & SIMD::Int(0x3FF));
 			dst.move(1, (packed[0] >> 10) & SIMD::Int(0x3FF));
 			dst.move(2, (packed[0] >> 20) & SIMD::Int(0x3FF));
 			dst.move(3, (packed[0] >> 30) & SIMD::Int(0x3));
 			break;
 		case VK_FORMAT_A2R10G10B10_UINT_PACK32:
-			dst.move(2, (packed[0]) & SIMD::Int(0x3FF));
+			dst.move(2, packed[0] & SIMD::Int(0x3FF));
 			dst.move(1, (packed[0] >> 10) & SIMD::Int(0x3FF));
 			dst.move(0, (packed[0] >> 20) & SIMD::Int(0x3FF));
 			dst.move(3, (packed[0] >> 30) & SIMD::Int(0x3));
@@ -877,7 +877,7 @@
 			dst.move(0, SIMD::Float((packed[0] >> 11) & SIMD::Int(0x1F)) * SIMD::Float(1.0f / 0x1F));
 			dst.move(1, SIMD::Float((packed[0] >> 5) & SIMD::Int(0x3F)) * SIMD::Float(1.0f / 0x3F));
 			dst.move(2, SIMD::Float((packed[0]) & SIMD::Int(0x1F)) * SIMD::Float(1.0f / 0x1F));
-			dst.move(3, SIMD::Float(1));
+			dst.move(3, SIMD::Float(1.0f));
 			break;
 		case VK_FORMAT_A1R5G5B5_UNORM_PACK16:
 			dst.move(0, SIMD::Float((packed[0] >> 10) & SIMD::Int(0x1F)) * SIMD::Float(1.0f / 0x1F));
@@ -889,7 +889,7 @@
 			dst.move(0, halfToFloatBits((packed[0] << 4) & SIMD::Int(0x7FF0)));
 			dst.move(1, halfToFloatBits((packed[0] >> 7) & SIMD::Int(0x7FF0)));
 			dst.move(2, halfToFloatBits((packed[0] >> 17) & SIMD::Int(0x7FE0)));
-			dst.move(3, SIMD::Float(1));
+			dst.move(3, SIMD::Float(1.0f));
 			break;
 		default:
 			UNSUPPORTED("VkFormat %d", int(vkFormat));
@@ -981,8 +981,8 @@
 		case spv::ImageFormatRgba16i:
 		case spv::ImageFormatRgba16ui:
 			texelSize = 8;
-			packed[0] = SIMD::UInt(texel.UInt(0) & SIMD::UInt(0xffff)) | (SIMD::UInt(texel.UInt(1) & SIMD::UInt(0xffff)) << 16);
-			packed[1] = SIMD::UInt(texel.UInt(2) & SIMD::UInt(0xffff)) | (SIMD::UInt(texel.UInt(3) & SIMD::UInt(0xffff)) << 16);
+			packed[0] = SIMD::UInt(texel.UInt(0) & SIMD::UInt(0xFFFF)) | (SIMD::UInt(texel.UInt(1) & SIMD::UInt(0xFFFF)) << 16);
+			packed[1] = SIMD::UInt(texel.UInt(2) & SIMD::UInt(0xFFFF)) | (SIMD::UInt(texel.UInt(3) & SIMD::UInt(0xFFFF)) << 16);
 			numPackedElements = 2;
 			break;
 		case spv::ImageFormatRg32f:
@@ -1001,7 +1001,7 @@
 		case spv::ImageFormatRg16i:
 		case spv::ImageFormatRg16ui:
 			texelSize = 4;
-			packed[0] = SIMD::UInt(texel.UInt(0) & SIMD::UInt(0xffff)) | (SIMD::UInt(texel.UInt(1) & SIMD::UInt(0xffff)) << 16);
+			packed[0] = SIMD::UInt(texel.UInt(0) & SIMD::UInt(0xFFFF)) | (SIMD::UInt(texel.UInt(1) & SIMD::UInt(0xFFFF)) << 16);
 			numPackedElements = 1;
 			break;