From: Roland Scheidegger Date: Thu, 18 Apr 2013 15:18:15 +0000 (+0200) Subject: gallivm: increase nesting limit to 66 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=443950c6aa1188964b4d8d5f6c7499c3a93a88b2;p=mesa.git gallivm: increase nesting limit to 66 This is still not really correct, since at least for sm 4.0 the nesting limit is 64 per subroutine, and subroutine nesting itself has a limit of 32, so since we have a flat stack we'd need 32*64. But this should probably be better fixed with per-subroutine stacks, since otherwise these structures get really big (like 100kB for the lp_exec_mask). Reviewed-by: Jose Fonseca --- diff --git a/src/gallium/auxiliary/gallivm/lp_bld_limits.h b/src/gallium/auxiliary/gallivm/lp_bld_limits.h index 29bb9e3974f..5675e367c4e 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_limits.h +++ b/src/gallium/auxiliary/gallivm/lp_bld_limits.h @@ -57,9 +57,11 @@ /** * Maximum control flow nesting * - * SM3.0 requires 24 + * SM4.0 requires 64 (per subroutine actually, subroutine nesting itself is 32) + * SM3.0 requires 24 (most likely per subroutine too) + * add 2 more (some translation could add one more) */ -#define LP_MAX_TGSI_NESTING 32 +#define LP_MAX_TGSI_NESTING 66 /** * Maximum iterations before loop termination