[Mesa-dev] [PATCH] (9.0) gallivm: support more immediates in lp_build_tgsi_info()

Andreas Boll andreas.boll.dev at gmail.com
Thu Jan 17 10:07:49 PST 2013

From: Brian Paul <brianp at vmware.com>

Bump limit from 32 to 128.

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=58545
(cherry picked from commit 1b6ba9c4c840e291cbbe19a8601b56d1d103179c)

Fixes the following crashing piglit tests on 9.0 with llvmpipe:

./bin/varying-packing-simple mat2x4 array -auto -fbo
./bin/varying-packing-simple mat2x4 separate -auto -fbo
./bin/varying-packing-simple mat4 array -auto -fbo
./bin/varying-packing-simple mat4 separate -auto -fbo
./bin/varying-packing-simple vec4 array -auto -fbo
./bin/varying-packing-simple vec4 separate -auto -fbo

gallivm/lp_bld_tgsi_info.c:75:analyse_src: Assertion `src->Index < (sizeof(ctx->imm)/sizeof((ctx->imm)[0]))' failed.

Regression on the 9.0 branch introduced with
8ff8c91 mesa: bump MAX_VARYING to 32

 src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c
index ab393ed..5ce93a4 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c
@@ -47,7 +47,7 @@ struct analysis_context
    struct lp_tgsi_info *info;
    unsigned num_imms;
-   float imm[32][4];
+   float imm[128][4];
    struct lp_tgsi_channel_info temp[32][4];

More information about the mesa-dev mailing list