[waffle] [PATCH 3/7] nacl: add implementation for waffle_context_create

Tapani Pälli tapani.palli at intel.com
Tue Feb 3 22:09:31 PST 2015



On 02/03/2015 08:26 PM, Chad Versace wrote:
> On 02/03/2015 07:37 AM, Emil Velikov wrote:
>> On 23 January 2015 at 07:59, Tapani Pälli <tapani.palli at intel.com> wrote:
>>> Patch creates and initializes pp::Graphics3D context for OpenGL ES 2.0.
>>>
>>> Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
>>> ---
>> [...]
>>
>>> @@ -37,6 +43,10 @@ nacl_container_dtor(waffle::nacl_container *nc)
>>>   {
>>>       if (!nc)
>>>           return;
>>> +
>> +   nc->ctx = pp::Graphics3D();
>> I would guess that you want to nuke the Graphics3D ctx first ?
>>
>>> +    nc->glSetCurrentContextPPAPI(0);
>>> +    nc->glTerminatePPAPI();
>>> +
>> Imho the teardown should be symmetrical to the setup - i.e. create a
>> new function nacl_context_fini (or similar) which has the above three
>> calls, and gets executed in nacl_context_destroy.
>
> I just want to echo Emil here. Writing teardown to be symmteric to
> setup is generally a good idea.

OK, will do.

>>
>>> +static bool
>>> +nacl_context_init(waffle::nacl_container *nc, struct nacl_config *cfg)
>>> +{
>> [...]
>>> +
>>> +    dlclose(glapi);
>>> +
>> Calling the function pointers after closing the handle causes
>> segfaults on my Archlinux machine. Am I the only one or does nacl has
>> something special in this regard ?
>
> Hmmm... This seems wrong to me too.
>

Huh yes, this is wrong. I believe it works currently only because the 
functions resolved do not allocate memory ... maybe. I will move dlclose 
to happen when teardown happens.

// Tapani


More information about the waffle mailing list