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 8dab50dab01d980c0a687ad8ac539d93262c84b4..798e5684025a644ac9d7e440b4e2fa49510de615 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 20a10004ab20cdb2f45d70a36cfd1d442c4ce6b5..1d0bedddb3c178235f1ad56a10bc6613c3b1d0cd 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 */