Am 09.08.2018 um 01:55 schrieb Marek Olšák: > From: Marek Olšák <marek.ol...@amd.com> > > --- > src/gallium/auxiliary/tgsi/tgsi_ureg.c | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/src/gallium/auxiliary/tgsi/tgsi_ureg.c > b/src/gallium/auxiliary/tgsi/tgsi_ureg.c > index 92c98c763eb..c1c8851486e 100644 > --- a/src/gallium/auxiliary/tgsi/tgsi_ureg.c > +++ b/src/gallium/auxiliary/tgsi/tgsi_ureg.c > @@ -2099,21 +2099,32 @@ const struct tgsi_token *ureg_finalize( struct > ureg_program *ureg ) > > tokens = &ureg->domain[DOMAIN_DECL].tokens[0].token; > > if (0) { > debug_printf("%s: emitted shader %d tokens:\n", __FUNCTION__, > ureg->domain[DOMAIN_DECL].count); > tgsi_dump( tokens, 0 ); > } > > #if DEBUG > - if (tokens && !tgsi_sanity_check(tokens)) { > + /* tgsi_sanity doesn't seem to return if there are too many constants. */ > + bool too_many_constants = false; > + for (unsigned i = 0; i < ARRAY_SIZE(ureg->const_decls); i++) { > + for (unsigned j = 0; j < ureg->const_decls[i].nr_constant_ranges; j++) > { > + if (ureg->const_decls[i].constant_range[j].last > 4096) { > + too_many_constants = true; > + break; > + } > + } > + } Err, is it actually too slow, is there a bug in sanity checking or are you making it pass sanity but tgsi emitting garbage?
Roland > + if (tokens && !too_many_constants && !tgsi_sanity_check(tokens)) { > debug_printf("tgsi_ureg.c, sanity check failed on generated > tokens:\n"); > tgsi_dump(tokens, 0); > assert(0); > } > #endif > > > return tokens; > } > > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev