v2: cleanup code, no need for separate c++ function (Chad Versace) release context when ctx and window are NULL (Emil Velikov)
Signed-off-by: Tapani Pälli <tapani.pa...@intel.com> --- src/waffle/nacl/nacl_container.cpp | 13 +++++++++++++ src/waffle/nacl/nacl_container.h | 1 + src/waffle/nacl/nacl_platform.c | 4 +++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/waffle/nacl/nacl_container.cpp b/src/waffle/nacl/nacl_container.cpp index 5dd44a8..fe907ff 100644 --- a/src/waffle/nacl/nacl_container.cpp +++ b/src/waffle/nacl/nacl_container.cpp @@ -181,3 +181,16 @@ nacl_resize(struct nacl_container *nc, int32_t width, int32_t height) } return false; } + +extern "C" bool +nacl_makecurrent(nacl_container *nc, bool release) +{ + waffle::nacl_container *cpp_nc = + reinterpret_cast<waffle::nacl_container*>(nc); + + PP_Resource ctx = release ? 0 : cpp_nc->ctx->pp_resource(); + + cpp_nc->glSetCurrentContextPPAPI(ctx); + + return true; +} diff --git a/src/waffle/nacl/nacl_container.h b/src/waffle/nacl/nacl_container.h index d1cb11d..ca26a1f 100644 --- a/src/waffle/nacl/nacl_container.h +++ b/src/waffle/nacl/nacl_container.h @@ -41,6 +41,7 @@ struct nacl_container *nacl_init(); void nacl_teardown(struct nacl_container *nc); bool nacl_context_init(struct nacl_container *nc, struct nacl_config *cfg); bool nacl_resize(struct nacl_container *nc, int32_t width, int32_t height); +bool nacl_makecurrent(struct nacl_container *nc, bool release); void nacl_context_fini(struct nacl_container *nc); #ifdef __cplusplus diff --git a/src/waffle/nacl/nacl_platform.c b/src/waffle/nacl/nacl_platform.c index b4df9d9..c4fefe5 100644 --- a/src/waffle/nacl/nacl_platform.c +++ b/src/waffle/nacl/nacl_platform.c @@ -68,7 +68,9 @@ nacl_platform_make_current(struct wcore_platform *wc_self, struct wcore_window *wc_window, struct wcore_context *wc_ctx) { - return false; + bool release = (!wc_window && !wc_ctx); + return nacl_makecurrent(nacl_platform(wc_self)->nacl, + release); } struct wcore_platform* -- 2.1.0 _______________________________________________ waffle mailing list waffle@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/waffle