Fix border color when sampling normalized texture formats

Border color replacement was using same 16-bit scale for all normalized
texture formats. This change uses proper scale values and also takes
packed formats into account.

Bug: b/191101048
Change-Id: I4c55a64dc914bc58c0650b700741a992e39263fd
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/58628
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Vulkan/VkFormat.hpp b/src/Vulkan/VkFormat.hpp
index 89e9284..8a69d5b 100644
--- a/src/Vulkan/VkFormat.hpp
+++ b/src/Vulkan/VkFormat.hpp
@@ -62,6 +62,8 @@
 
 	sw::float4 getScale() const;
 
+	sw::int4 bitsPerComponent() const;
+
 	bool supportsColorAttachmentBlend() const;
 
 	// Texture sampling utilities