summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTapani Pälli <tapani.palli@intel.com>2015-02-03 15:06:30 +0200
committerTapani Pälli <tapani.palli@intel.com>2015-02-04 09:35:43 +0200
commitfd4fa4bd398017d279d4b8e5b32ead64954ca476 (patch)
tree0a4e47034a3807488140783fd596d01c79c99f8a
parent13581dbb6fe597923b8d61907bacf87484b92f83 (diff)
nacl: add implementation for waffle_make_current
v2: cleanup code, no need for separate c++ function (Chad Versace) Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
-rw-r--r--src/waffle/nacl/nacl_container.cpp12
-rw-r--r--src/waffle/nacl/nacl_container.h1
-rw-r--r--src/waffle/nacl/nacl_platform.c2
3 files changed, 13 insertions, 2 deletions
diff --git a/src/waffle/nacl/nacl_container.cpp b/src/waffle/nacl/nacl_container.cpp
index 3656fef..f7e43ec 100644
--- a/src/waffle/nacl/nacl_container.cpp
+++ b/src/waffle/nacl/nacl_container.cpp
@@ -155,7 +155,7 @@ nacl_resize(struct nacl_container *nc, int32_t width, int32_t height)
waffle::nacl_container *cpp_nc =
reinterpret_cast<waffle::nacl_container*>(nc);
- int32_t error = cpp_nc->ctx.ResizeBuffers(width, height);
+ int32_t error = cpp_nc->ctx->ResizeBuffers(width, height);
if (error == PP_OK)
return true;
@@ -174,3 +174,13 @@ nacl_resize(struct nacl_container *nc, int32_t width, int32_t height)
}
return false;
}
+
+extern "C" bool
+nacl_makecurrent(nacl_container *nc)
+{
+ waffle::nacl_container *cpp_nc =
+ reinterpret_cast<waffle::nacl_container*>(nc);
+
+ cpp_nc->glSetCurrentContextPPAPI(cpp_nc->ctx->pp_resource());
+ return true;
+}
diff --git a/src/waffle/nacl/nacl_container.h b/src/waffle/nacl/nacl_container.h
index f3ede41..5341141 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);
#ifdef __cplusplus
};
diff --git a/src/waffle/nacl/nacl_platform.c b/src/waffle/nacl/nacl_platform.c
index b4df9d9..20a9739 100644
--- a/src/waffle/nacl/nacl_platform.c
+++ b/src/waffle/nacl/nacl_platform.c
@@ -68,7 +68,7 @@ nacl_platform_make_current(struct wcore_platform *wc_self,
struct wcore_window *wc_window,
struct wcore_context *wc_ctx)
{
- return false;
+ return nacl_makecurrent(nacl_platform(wc_self)->nacl);
}
struct wcore_platform*