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

Emil Velikov emil.l.velikov at gmail.com
Tue Feb 3 07:37:46 PST 2015


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.

> +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 ?

> diff --git a/src/waffle/nacl/nacl_container.h b/src/waffle/nacl/nacl_container.h
> index 61d935c..81472cc 100644
> --- a/src/waffle/nacl/nacl_container.h
> +++ b/src/waffle/nacl/nacl_container.h
> @@ -25,13 +25,21 @@
>
>  #ifdef __cplusplus
>
> +#include <dlfcn.h>
> +
>  extern "C" {
>  #endif
>
> +#include "nacl_config.h"
> +#include "wcore_error.h"
> +
> +#define NACL_GLES2_LIBRARY "libppapi_gles2.so"
> +
Please move the above hunk to nacl_container.c.

-Emil


More information about the waffle mailing list