summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/gallivm/lp_bld_limits.h
diff options
context:
space:
mode:
authorZack Rusin <zackr@vmware.com>2014-02-03 21:40:24 -0500
committerZack Rusin <zackr@vmware.com>2014-02-05 19:40:53 -0500
commit8507afc97fa3323c89ee4cd1359d2fa61015bcd0 (patch)
tree921d6a4bc6810372e668f75e96cc68c0a8c5f90e /src/gallium/auxiliary/gallivm/lp_bld_limits.h
parent5eeb12c0bcd3d25fee9749d797f8541a96935192 (diff)
downloadexternal_mesa3d-8507afc97fa3323c89ee4cd1359d2fa61015bcd0.zip
external_mesa3d-8507afc97fa3323c89ee4cd1359d2fa61015bcd0.tar.gz
external_mesa3d-8507afc97fa3323c89ee4cd1359d2fa61015bcd0.tar.bz2
gallivm: allow large numbers of temporaries
The number of allowed temporaries increases almost with every iteration of an api. We used to support 128, then we started increasing and the newer api's support 4096+. So if we notice that the number of temporaries is larger than our statically allocated storage would allow we just treat them as indexable temporaries and allocate them as an array from the start. Signed-off-by: Zack Rusin <zackr@vmware.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Diffstat (limited to 'src/gallium/auxiliary/gallivm/lp_bld_limits.h')
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_limits.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_limits.h b/src/gallium/auxiliary/gallivm/lp_bld_limits.h
index 521b45b..e03bac6 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_limits.h
+++ b/src/gallium/auxiliary/gallivm/lp_bld_limits.h
@@ -43,7 +43,7 @@
* the state trackers.
*/
-#define LP_MAX_TGSI_TEMPS 256
+#define LP_MAX_TGSI_TEMPS 4096
#define LP_MAX_TGSI_ADDRS 16
@@ -53,6 +53,12 @@
#define LP_MAX_TGSI_CONST_BUFFERS 16
+/*
+ * For quick access we cache temps in a statically
+ * allocated array. This defines the maximum size
+ * of that array.
+ */
+#define LP_MAX_INLINED_TEMPS 256
/**
* Maximum control flow nesting