Mesa (mesa_7_7_branch): ARB prog parser: use _mesa_add_unnamed_constant() to use fewer constant slots

Brian Paul brianp at kemper.freedesktop.org
Tue Dec 29 16:12:16 UTC 2009


Module: Mesa
Branch: mesa_7_7_branch
Commit: 639e7a140e430aa8839c652459eddc9a4b79f9c6
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=639e7a140e430aa8839c652459eddc9a4b79f9c6

Author: Brian Paul <brianp at vmware.com>
Date:   Tue Dec 29 09:06:00 2009 -0700

ARB prog parser: use _mesa_add_unnamed_constant() to use fewer constant slots

This function will search the constant parameters in an effort to re-use
constant slots.  For example, {1,2,3,4} and {4,1,1,2} can be stored in
one constant slot and accessed with different swizzles.  The swizzle info
must be propogated though the parsing code in a few places.

Fixes Piglit "vpfp-generic tests/shaders/generic/big-param.vpfp" failure.

---

 src/mesa/shader/program_parse.tab.c |  598 +++++++++++++++++++----------------
 src/mesa/shader/program_parse.tab.h |    2 +-
 src/mesa/shader/program_parse.y     |   66 +++-
 src/mesa/shader/program_parser.h    |    6 +
 4 files changed, 377 insertions(+), 295 deletions(-)

Diff:   http://cgit.freedesktop.org/mesa/mesa/diff/?id=639e7a140e430aa8839c652459eddc9a4b79f9c6



More information about the mesa-commit mailing list