Increase subTexelPrecisionBits from 4 to 8

This is now a Roadmap 2022 milestone requirement, as can be seen here:
https://registry.khronos.org/vulkan/specs/1.3-extensions/html/chap51.html#roadmap-2022

According to the Vulkan spec:

"subTexelPrecisionBits is the number of bits of precision in the
 division along an axis of an image used for minification and
 magnification filters. 2^subTexelPrecisionBits is the actual number
 of divisions along each axis of the image represented. Sub-texel
 values calculated during image sampling will snap to these locations
 when generating the filtered results."

The value currently defined for subTexelPrecisionBits (4) does not
represent accurately the precision that we use for filtering. We
either use 16 bit integers or 32 bit floating point computation
when we perform linear filtering, which both use more than 4 bits of
precision.

This was causing a few tests to fail as a few corner cases were
accumulating too much error for the tests to pass.

All these factors combined would cause failures:
- Non power of 2 textures, where test coordinates don't get
  subdivided to powers of 2 (so texture sizes like 31x55 or 57x35)
- Textures with large differences between neighboring pixels. Tests
  generally use gradients, so using the repeat mode was the only mode
  creating sharp differences between neighboring pixels, at the edges
- Linear mipmap filtering, which was also misrepresented in its
  number of precision bits

In order to more accurately represent reality, subTexelPrecisionBits
was increased from 4 to 8.

Bug: b/151214291
Bug: b/236958019
Change-Id: I15810068a3e53f3812e07fbc5b04701159289350
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46648
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
Commit-Queue: Alexis Hétu <sugoi@google.com>
Presubmit-Ready: Alexis Hétu <sugoi@google.com>
diff --git a/src/Vulkan/VkPhysicalDevice.cpp b/src/Vulkan/VkPhysicalDevice.cpp
index 2e9ad5d..f8ca0f0 100644
--- a/src/Vulkan/VkPhysicalDevice.cpp
+++ b/src/Vulkan/VkPhysicalDevice.cpp
@@ -659,7 +659,7 @@
 		vk::MAX_COMPUTE_WORKGROUP_INVOCATIONS,       // maxComputeWorkGroupInvocations
 		{ 256, 256, 64 },                            // maxComputeWorkGroupSize[3]
 		vk::SUBPIXEL_PRECISION_BITS,                 // subPixelPrecisionBits
-		4,                                           // subTexelPrecisionBits
+		8,                                           // subTexelPrecisionBits
 		4,                                           // mipmapPrecisionBits
 		UINT32_MAX,                                  // maxDrawIndexedIndexValue
 		UINT32_MAX,                                  // maxDrawIndirectCount