mesa: Use get_local_param_pointer in glProgramLocalParameters4fvEXT().
authorKenneth Graunke <kenneth@whitecape.org>
Mon, 6 Jan 2014 04:03:00 +0000 (20:03 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Tue, 7 Jan 2014 20:50:23 +0000 (12:50 -0800)
commit05fbb021a6329add4b37c876c0621c1dcc3d4ef9
tree0cf17421ecdd5828fa965c4a98ee42d871f70422
parent2d368b982af5e6566c7da7fd2bc8b190af28188b
mesa: Use get_local_param_pointer in glProgramLocalParameters4fvEXT().

Using the get_local_param_pointer helper ensures that the LocalParams
arrays have actually been allocated before attempting to use them.

glProgramLocalParameters4fvEXT needs to do a bit of extra checking,
but it can be simplified since the helper has already validated the
target.

Fixes crashes in programs that use Cg (for example, Awesomenauts,
Rocketbirds: Hardboiled Chicken, and Tiny and Big: Grandpa's Leftovers)
since commit e5885c119de1e508099cc1111e1c9f8ff00fab88
(mesa: Dynamically allocate the storage for program local parameters.)

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73136
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Tested-by: Laurent Carlier <lordheavym@gmail.com>
src/mesa/main/arbprogram.c