diff options
author | Roland Scheidegger <[email protected]> | 2013-04-18 17:18:15 +0200 |
---|---|---|
committer | Roland Scheidegger <[email protected]> | 2013-04-20 02:27:53 +0200 |
commit | 443950c6aa1188964b4d8d5f6c7499c3a93a88b2 (patch) | |
tree | fc2c48c86dc82fb1e39dd83af6d96cc0c3195474 /src | |
parent | 12eab7cc564a6928197f9b87ded9e368e56976f0 (diff) |
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 <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/auxiliary/gallivm/lp_bld_limits.h | 6 |
1 files changed, 4 insertions, 2 deletions
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 |