Brian Paul <bri...@vmware.com> writes:

> 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.daen...@amd.com>
>
> Can you push this today, Eric?

I was giving a chance for review, but both of you have taken a look, so
I went ahead and pushed.

Attachment: pgps3GsP07Z01.pgp
Description: PGP signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to