[Mesa-dev] [PATCH] llvmpipe: increase max texture size to 2GB

Jose Fonseca jfonseca at vmware.com
Thu Oct 10 18:52:44 UTC 2019


Sounds great.

Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

BTW, it's not really difficult to do gather with unsigned offsets: add 0x80000000 to the base, subtract 0x8000000 to the offsets, and use the signed gather.   If the cost of doing so is significant, we could do this just for large textures, by adding a bit per texture to the shader key.

Jose


________________________________
From: sroland at vmware.com <sroland at vmware.com>
Sent: Thursday, October 10, 2019 19:18
To: Jose Fonseca <jfonseca at vmware.com>; mesa-dev at lists.freedesktop.org <mesa-dev at lists.freedesktop.org>
Cc: Roland Scheidegger <sroland at vmware.com>
Subject: [PATCH] llvmpipe: increase max texture size to 2GB

From: Roland Scheidegger <sroland at vmware.com>

The 1GB limit was arbitrary, increase this to 2GB (which is the max
possible without code changes).
---
 src/gallium/drivers/llvmpipe/lp_limits.h | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/llvmpipe/lp_limits.h b/src/gallium/drivers/llvmpipe/lp_limits.h
index c2808162c78..569179ecdf4 100644
--- a/src/gallium/drivers/llvmpipe/lp_limits.h
+++ b/src/gallium/drivers/llvmpipe/lp_limits.h
@@ -43,7 +43,11 @@
 /**
  * Max texture sizes
  */
-#define LP_MAX_TEXTURE_SIZE (1 * 1024 * 1024 * 1024ULL)  /* 1GB for now */
+/**
+ * 2GB is the actual max currently (we always use 32bit offsets, and both
+ * llvm GEP as well as avx2 gather use signed offsets).
+ */
+#define LP_MAX_TEXTURE_SIZE (2 * 1024 * 1024 * 1024ULL)
 #define LP_MAX_TEXTURE_2D_LEVELS 14  /* 8K x 8K for now */
 #define LP_MAX_TEXTURE_3D_LEVELS 12  /* 2K x 2K x 2K for now */
 #define LP_MAX_TEXTURE_CUBE_LEVELS 14  /* 8K x 8K for now */
--
2.17.1

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20191010/4df26b61/attachment.html>


More information about the mesa-dev mailing list