swr: Bump maximum 2D texture size to 16kx16k
authorjzielins <jan.zielinski@intel.com>
Wed, 29 Jul 2020 11:27:00 +0000 (13:27 +0200)
committerjzielins <jan.zielinski@intel.com>
Mon, 3 Aug 2020 11:46:51 +0000 (13:46 +0200)
This may be required by some applications, even though
not all texture formats will be below 2GB limit.

This change also increases the maximum size of render target,
that was inadvertently lowered some time ago.

Reviewed-by: Krzysztof Raszkowski <krzysztof.raszkowski@intel.com>
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6139>

src/gallium/drivers/swr/rasterizer/core/knobs.h
src/gallium/drivers/swr/swr_screen.cpp

index 8dab50d..798e568 100644 (file)
 
 // total # of hot tiles available. This should be enough to
 // fully render a 16kx16k 128bpp render target
-#define KNOB_NUM_HOT_TILES_X 256
-#define KNOB_NUM_HOT_TILES_Y 256
+#define KNOB_NUM_HOT_TILES_X 512
+#define KNOB_NUM_HOT_TILES_Y 512
 #define KNOB_COLOR_HOT_TILE_FORMAT R32G32B32A32_FLOAT
 #define KNOB_DEPTH_HOT_TILE_FORMAT R32_FLOAT
 #define KNOB_STENCIL_HOT_TILE_FORMAT R8_UINT
index 20a1000..1d0bedd 100644 (file)
@@ -52,7 +52,9 @@
  * XXX Check max texture size values against core and sampler.
  */
 #define SWR_MAX_TEXTURE_SIZE (2 * 1024 * 1024 * 1024ULL) /* 2GB */
-#define SWR_MAX_TEXTURE_2D_SIZE 8192
+/* Not all texture formats can fit into 2GB limit, but we have to
+   live with that. See lp_limits.h for more details */
+#define SWR_MAX_TEXTURE_2D_SIZE 16384
 #define SWR_MAX_TEXTURE_3D_LEVELS 12  /* 2K x 2K x 2K for now */
 #define SWR_MAX_TEXTURE_CUBE_LEVELS 14  /* 8K x 8K for now */
 #define SWR_MAX_TEXTURE_ARRAY_LAYERS 512 /* 8K x 512 / 8K x 8K x 512 */