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

Eric Anholt eric at anholt.net
Wed Nov 20 16:36:05 PST 2013


Brian Paul <brianp at 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.daenzer at 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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20131120/db776203/attachment.pgp>


More information about the mesa-dev mailing list