Increase the maximum 1D, 2D, and Cube image dimension to 16384

This size is widely supported by other Vulkan implementations, and works
around issues caused by allocating memory from Android gralloc for
images of this size before checking that it's supported by the ICD.

Note that maxFramebufferWidth|Height remains at 8192 for now, which
means not all images used as a texture can be used as a framebuffer
attachment.

Bug: b/194426249
Change-Id: Id66130bd7f131e2c8feea00113f0d6398aa1f25c
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/57690
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Jason Macnak <natsu@google.com>
diff --git a/src/Device/Config.hpp b/src/Device/Config.hpp
index 780fa66..d030354 100644
--- a/src/Device/Config.hpp
+++ b/src/Device/Config.hpp
@@ -18,7 +18,7 @@
 namespace sw {
 
 constexpr int OUTLINE_RESOLUTION = 8192;  // Maximum vertical resolution of the render target
-constexpr int MIPMAP_LEVELS = 14;
+constexpr int MIPMAP_LEVELS = 15;
 constexpr int MAX_CLIP_DISTANCES = 8;
 constexpr int MAX_CULL_DISTANCES = 8;
 constexpr int MIN_TEXEL_OFFSET = -8;
diff --git a/src/Vulkan/VkConfig.hpp b/src/Vulkan/VkConfig.hpp
index d16e2f2..b8ef29b 100644
--- a/src/Vulkan/VkConfig.hpp
+++ b/src/Vulkan/VkConfig.hpp
@@ -44,10 +44,10 @@
 
 constexpr uint32_t MEMORY_TYPE_GENERIC_BIT = 0x1;  // Generic system memory.
 
-constexpr uint32_t MAX_IMAGE_LEVELS_1D = 14;
-constexpr uint32_t MAX_IMAGE_LEVELS_2D = 14;
+constexpr uint32_t MAX_IMAGE_LEVELS_1D = 15;
+constexpr uint32_t MAX_IMAGE_LEVELS_2D = 15;
 constexpr uint32_t MAX_IMAGE_LEVELS_3D = 12;
-constexpr uint32_t MAX_IMAGE_LEVELS_CUBE = 14;
+constexpr uint32_t MAX_IMAGE_LEVELS_CUBE = 15;
 constexpr uint32_t MAX_IMAGE_ARRAY_LAYERS = 2048;
 constexpr float MAX_SAMPLER_LOD_BIAS = 15.0;