[Mesa-dev] [PATCH] mesa: Fix setup of LocalParams array.

Brian Paul brianp at vmware.com
Wed Nov 20 06:08:29 PST 2013


On 11/18/2013 08:57 PM, Michel Dänzer wrote:
> On Mon, 2013-11-18 at 17:27 -0800, Eric Anholt wrote:
>> i965 passed piglit, but swrast and gallium both segfaulted without this.
>> i965 happened to work because it never ran _mesa_load_state_parameters()
>> on the new program before the test called glProgramLocalParameter(), which
>> was allocating a LocalParams array for the fallback path.
>>
>> Bugzilla: https://urldefense.proofpoint.com/v1/url?u=https://bugs.freedesktop.org/show_bug.cgi?id%3D71734&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=lGQMzzTgII0I7jefp2FHq7WtZ%2BTLs8wadB%2BiIj9xpBY%3D%0A&m=FenPOzPz5K8JDnRydKK56aJb%2BU7r2jCyOZTQMlqq2j4%3D%0A&s=8886af736bc500974e0e754724be78536b9c6bcd1893c367bae2467c70ed6d08
>>
>> v2: Since v1 threw away old localparams data, leaked old LocalParams
>>      memory, only fixed fragment programs, and I was dubious of my previous
>>      invariants already (nothing but program_parse.y will generate
>>      LocalParams, and only that one path of program_parse.y will), just
>>      late-allocate localparams at the other point of dereferencing them.
>>      This adds overhead to _mesa_load_state_parameter, which is
>>      uncomfortable, but I'm pretty sure that giant switch statement is
>>      super slow already.
>
> Fixes the piglit crashes with radeonsi, thanks Eric.
>
> Tested-by: Michel Dänzer <michel.daenzer at amd.com>

Can you push this today, Eric?

-Brian



More information about the mesa-dev mailing list