Hi;
I'm currently working on a NaCl backend for Waffle, I wanted to ask for
opinions or comments on my current approach. First of all I'm using some
c++ in the nacl backend code but AFAIK everything of this can be
converted to c if c++ is absolutely not wanted.
The work can be divided in to
On 12/10/2014 09:24 AM, Tapani wrote:
On 12/10/2014 07:39 AM, Chad Versace wrote:
On 12/09/2014 04:15 AM, Tapani Pälli wrote:
The problem I have with swapbuffers is that I cannot guarantee if the
swap finished before waffle app submits a new one, This is what the
swap_thread tries to deal
ewhat "complete package" can be found from:
http://cgit.freedesktop.org/~tpalli/waffle/log/?h=nacl
but I'm hoping to clean it up some more and making the example app
more interesting before sending everything.
Tapani Pälli (2):
waffle: add support for building Waffle using NaCl toolcha
-Dwaffle_has_nacl=ON \
-Dnacl_sdk_path=/home/tpalli/nacl/nacl_sdk \
-DCMAKE_BUILD_TYPE=Release \
.
Signed-off-by: Tapani Pälli
---
Options.cmake | 13 +
cmake/Modules/WaffleDefineCompilerFlags.cmake | 23 +++
cmake/Modules
Patch adds nacl platform skeleton. Only thing is does is that
it creates a container that holds the 3D context object and is
responsible for any communication required with browser.
Signed-off-by: Tapani Pälli
---
CMakeLists.txt | 2 +-
include/waffle/waffle.h
Patch adds nacl platform skeleton. Only thing it does is that
it creates a container that holds the 3D context object which is
responsible for any communication required with browser.
v2: cleanups, remove unnecessary casts, use c99 initializer
(Emil Velikov)
Signed-off-by: Tapani Pälli
Signed-off-by: Tapani Pälli
---
man/waffle_enum.3.xml | 1 +
man/waffle_init.3.xml | 8
2 files changed, 9 insertions(+)
diff --git a/man/waffle_enum.3.xml b/man/waffle_enum.3.xml
index a96bd20..07edd6c 100644
--- a/man/waffle_enum.3.xml
+++ b/man/waffle_enum.3.xml
@@ -101,6 +101,7
Signed-off-by: Tapani Pälli
---
examples/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index 281ef47..df66f60 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -11,7 +11,7 @@ install
Hi;
Here are initial nacl support patches with fixes to the issues
found by Emil. I've added toolchain files for x86 (32bit, 64bit)
under cmake directory. Toolchain files for arm-newlib and pnacl-clang
are postponed to the future due to untrivial build issues, will
tackle these later.
T
-Dwaffle_has_nacl=ON \
-Dnacl_sdk_path=/home/tpalli/nacl/nacl_sdk \
-Dnacl_version=pepper_39 \
-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-nacl-linux-glibc-x86_64.cmake \
-DCMAKE_BUILD_TYPE=Release \
.
v2: cmake fixes, create toolchain files for nacl (Emil Velikov)
Signed-off-by: Tapani
Here's minimal changes to run existing gl_basic with nacl backend.
I wanted to ask if such #ifdefs are wanted approach or should I rather
have an example of its own?
Thanks;
Tapani Pälli (1):
waffle: make gl_basic to work with nacl
.gitignore | 2 ++
examples/CMakeList
Signed-off-by: Tapani Pälli
---
.gitignore | 2 ++
examples/CMakeLists.txt | 30 ++
examples/gl_basic.c | 17 +
examples/index.html | 39 +++
4 files changed, 88 insertions(+)
create mode
On 12/23/2014 12:28 AM, Chad Versace wrote:
On 12/21/2014 07:53 AM, Emil Velikov wrote:
On 17 December 2014 at 10:17, Tapani Pälli wrote:
Patch adds changes required to use NaCl compiler and libraries to
build Waffle. Build can be configured to use specific version of
the NaCl SDK
On 12/23/2014 02:06 AM, Chad Versace wrote:
On 12/17/2014 04:17 AM, Tapani Pälli wrote:
Patch adds changes required to use NaCl compiler and libraries to
build Waffle. Build can be configured to use specific version of
the NaCl SDK, toolchain for the build needs to be selected with
cmake
On 12/21/2014 03:53 PM, Emil Velikov wrote:
On 17 December 2014 at 10:17, Tapani Pälli wrote:
Patch adds changes required to use NaCl compiler and libraries to
build Waffle. Build can be configured to use specific version of
the NaCl SDK, toolchain for the build needs to be selected with
On 12/23/2014 04:25 AM, Chad Versace wrote:
On 12/21/2014 08:06 AM, Emil Velikov wrote:
On 17 December 2014 at 13:12, Tapani Pälli wrote:
Signed-off-by: Tapani Pälli
---
.gitignore | 2 ++
examples/CMakeLists.txt | 30 ++
examples/gl_basic.c
On 12/29/2014 09:28 AM, Tapani Pälli wrote:
On 12/23/2014 02:06 AM, Chad Versace wrote:
On 12/17/2014 04:17 AM, Tapani Pälli wrote:
Patch adds changes required to use NaCl compiler and libraries to
build Waffle. Build can be configured to use specific version of
the NaCl SDK, toolchain for
On 12/30/2014 12:53 AM, Emil Velikov wrote:
On 22/12/14 22:28, Chad Versace wrote:
On 12/21/2014 07:53 AM, Emil Velikov wrote:
On 17 December 2014 at 10:17, Tapani Pälli wrote:
Patch adds changes required to use NaCl compiler and libraries to
build Waffle. Build can be configured to use
ce you have all dependencies cached.
Any comments appreciated!
Tapani Pälli (4):
examples: add waffle_has_x11_egl check for simple-x11-egl
waffle: add support for building Waffle using NaCl toolchain
waffle: initial empty implementation of nacl backend
waffle: update man pages wi
v2: remove redudant parenthesis (Chad)
Signed-off-by: Tapani Pälli
---
examples/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index 281ef47..c700a72 100644
--- a/examples/CMakeLists.txt
+++ b/examples
Signed-off-by: Tapani Pälli
---
man/waffle_enum.3.xml | 1 +
man/waffle_init.3.xml | 8
2 files changed, 9 insertions(+)
diff --git a/man/waffle_enum.3.xml b/man/waffle_enum.3.xml
index a96bd20..07edd6c 100644
--- a/man/waffle_enum.3.xml
+++ b/man/waffle_enum.3.xml
@@ -101,6 +101,7
, cmake fixes (Chad Versace, Emil Velikov)
Signed-off-by: Tapani Pälli
---
Options.cmake | 5
cmake/Modules/WaffleDefineCompilerFlags.cmake | 4 +++
cmake/Modules/WaffleValidateOptions.cmake | 31 ++--
cmake/toolchain-nacl-x86_32-glibc.cmake
Versace)
Signed-off-by: Tapani Pälli
---
CMakeLists.txt | 2 +-
include/waffle/waffle.h| 1 +
src/waffle/CMakeLists.txt | 16 -
src/waffle/api/waffle_init.c | 11 +++
src/waffle/core/wcore_util.c | 1 +
src/waffle/nacl
v2: fixes in cmake (Emil Velikov, Chad Versace)
Changed also nmf file content and generation, moved
nacl example content to separate output path.
Signed-off-by: Tapani Pälli
---
.gitignore| 1 +
cmake/Modules/WaffleDefineCompilerFlags.cmake | 10
stigating how to make this work for "portable native client",
pnacl-clang.
Thanks;
Tapani Pälli (7):
nacl: add supports_context_api implementation
nacl: add implementation for waffle_config_choose
nacl: add implementation for waffle_context_create
nacl: add implementation for
Signed-off-by: Tapani Pälli
---
src/waffle/nacl/nacl_platform.c | 63 +++--
src/waffle/nacl/nacl_platform.h | 1 +
2 files changed, 62 insertions(+), 2 deletions(-)
diff --git a/src/waffle/nacl/nacl_platform.c b/src/waffle/nacl/nacl_platform.c
index 20a9739
Patch creates and initializes pp::Graphics3D context for OpenGL ES 2.0.
Signed-off-by: Tapani Pälli
---
src/waffle/nacl/nacl_container.cpp | 81 ++
src/waffle/nacl/nacl_container.h | 8
src/waffle/nacl/nacl_context.c | 6 +++
3 files changed, 95
Patch fills attributes table suitable for Pepper API from
wcore_config_attrs passed by the application.
Signed-off-by: Tapani Pälli
---
src/waffle/nacl/nacl_config.c | 30 ++
src/waffle/nacl/nacl_config.h | 2 ++
2 files changed, 32 insertions(+)
diff --git a/src
Signed-off-by: Tapani Pälli
---
src/waffle/nacl/nacl_container.cpp | 18 ++
src/waffle/nacl/nacl_container.h | 1 +
src/waffle/nacl/nacl_window.c | 7 ++-
src/waffle/nacl/nacl_window.h | 1 +
4 files changed, 26 insertions(+), 1 deletion(-)
diff --git a/src
Currently only OpenGL ES 2.0 is supported.
Signed-off-by: Tapani Pälli
---
src/waffle/nacl/nacl_display.c | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/waffle/nacl/nacl_display.c b/src/waffle/nacl/nacl_display.c
index 2d1162e..514d644 100644
--- a/src/waffle
Signed-off-by: Tapani Pälli
---
src/waffle/nacl/nacl_container.cpp | 17 +
src/waffle/nacl/nacl_container.h | 1 +
src/waffle/nacl/nacl_platform.c| 2 +-
3 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/src/waffle/nacl/nacl_container.cpp
b/src/waffle/nacl
Implementation for nacl is somewhat different as for other platforms,
platform needs to ensure that the previous swap has finished before
issuing another one. This is done by introducing a worker thread that
does buffer swaps from a work queue.
Signed-off-by: Tapani Pälli
---
src/waffle/nacl
koti.kapsi.fi/~tpalli/naclgears/
I'm not yet sure what to do with this, one option would be to offer a
callback mechanism in Waffle ("swap finished") but there are no existing
callbacks like this in waffle. Would it be ok and create something like
this?
Thanks;
On 01/23/2015
like in
GLX_INTEL_swap_event make sense or should it be something simpler?
Then, whenever waffle_wndow_swap_buffers(window) gets called, backend
will call callback if it is set. It should be noted that it can happen
from a separate thread.
How does this sound?
On 01/27/2015 0
Patch introduces a new API that enables application to register
a callback to be called when swapbuffers has finished. This can be
used to throttle rendering loop.
Signed-off-by: Tapani Pälli
---
(This is a API proposal for swap event callback.)
include/CMakeLists.txt | 1 +
include
On 02/03/2015 12:59 AM, Chad Versace wrote:
On 01/22/2015 11:59 PM, Tapani Pälli wrote:
Currently only OpenGL ES 2.0 is supported.
Signed-off-by: Tapani Pälli
---
src/waffle/nacl/nacl_display.c | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/waffle/nacl
On 02/03/2015 01:06 AM, Chad Versace wrote:
On 01/22/2015 11:59 PM, Tapani Pälli wrote:
Patch fills attributes table suitable for Pepper API from
wcore_config_attrs passed by the application.
Signed-off-by: Tapani Pälli
---
src/waffle/nacl/nacl_config.c | 30
On 02/03/2015 01:16 AM, Chad Versace wrote:
On 01/22/2015 11:59 PM, Tapani Pälli wrote:
Patch creates and initializes pp::Graphics3D context for OpenGL ES 2.0.
Signed-off-by: Tapani Pälli
---
src/waffle/nacl/nacl_container.cpp | 81 ++
src/waffle/nacl
On 02/03/2015 01:28 AM, Chad Versace wrote:
On 01/22/2015 11:59 PM, Tapani Pälli wrote:
Signed-off-by: Tapani Pälli
8<
+
+extern "C" bool
+nacl_resize(struct nacl_container *nc, int32_t width, int32_t height)
+{
+return waffle::nacl_resize(
+ reinte
On 02/03/2015 08:50 PM, Chad Versace wrote:
On 01/22/2015 11:59 PM, Tapani Pälli wrote:
Implementation for nacl is somewhat different as for other platforms,
platform needs to ensure that the previous swap has finished before
issuing another one. This is done by introducing a worker thread
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 wrote:
Patch creates and initializes pp::Graphics3D context for OpenGL ES 2.0.
Signed-off-by: Tapani Pälli
---
[...]
@@ -37,6 +43,10 @@ nacl_container_dtor
On 02/03/2015 07:32 PM, Emil Velikov wrote:
On 2 February 2015 at 13:08, Tapani Pälli wrote:
Patch introduces a new API that enables application to register
a callback to be called when swapbuffers has finished. This can be
used to throttle rendering loop.
[...]
@@ -173,6 +174,9 @@ bool
On 02/03/2015 05:48 PM, Emil Velikov wrote:
On 23 January 2015 at 07:59, Tapani Pälli wrote:
Signed-off-by: Tapani Pälli
---
src/waffle/nacl/nacl_container.cpp | 17 +
src/waffle/nacl/nacl_container.h | 1 +
src/waffle/nacl/nacl_platform.c| 2 +-
3 files changed
On 02/03/2015 10:07 PM, Chad Versace wrote:
On 01/30/2015 02:33 AM, Tapani Pälli wrote:
Hi;
As a Finn I interpret silence as 'yes' :)
A safe assumption in many open source cultures :)
So I started to hack on swap completion event support. I believe it
can be useful for othe
On 02/06/2015 11:58 PM, Chad Versace wrote:
On 02/05/2015 04:45 AM, Tapani wrote:
On 02/05/2015 09:47 AM, Tapani Pälli wrote:
On 02/03/2015 10:07 PM, Chad Versace wrote:
It seems that two solutions are available:
S1. Provide waffle_set_swap_buffers_callback().
S2. On Waffle's
Patch fills attributes table suitable for Pepper API from
wcore_config_attrs passed by the application.
v2: throw error on unsupported context type (Chad Versace)
code cleanup, comment for max attribs (Emil Velikov)
Signed-off-by: Tapani Pälli
---
src/waffle/nacl/nacl_config.c | 37
v2: use wcore_calloc, code cleanup (Emil Velikov)
open dll only once in can_open (Chad Versace)
Signed-off-by: Tapani Pälli
---
src/waffle/nacl/nacl_platform.c | 69 +++--
src/waffle/nacl/nacl_platform.h | 1 +
2 files changed, 68 insertions(+), 2
Currently only OpenGL ES 2.0 is supported.
v2: throw error only on erroneous input (Chad Versace)
Signed-off-by: Tapani Pälli
---
src/waffle/nacl/nacl_display.c | 13 -
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/waffle/nacl/nacl_display.c b/src/waffle/nacl
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
---
src/waffle/nacl/nacl_container.cpp | 13 +
src/waffle/nacl/nacl_container.h | 1 +
src/waffle/nacl/nacl_platform.c
fle/log/?h=nacl
Alternative tree with extra patch to have naclgears testcase:
http://cgit.freedesktop.org/~tpalli/waffle/log/?h=naclgears
Thanks;
Tapani Pälli (8):
nacl: add attrib_list parameter to create_window
nacl: add supports_context_api implementation
nacl: add implemen
v2: cleanup + throw error if resize fails (Chad Versace)
Signed-off-by: Tapani Pälli
---
src/waffle/nacl/nacl_container.cpp | 27 +++
src/waffle/nacl/nacl_container.h | 1 +
src/waffle/nacl/nacl_window.c | 9 ++---
src/waffle/nacl/nacl_window.h | 1
until swap is finished.
v2: add error messaging if pp::Graphics3D::SwapBuffers fails
add semaphore to implement blocking swap()
remove extra nacl_swapbuffers() c++ function (Chad, Emil)
Signed-off-by: Tapani Pälli
---
src/waffle/nacl/nacl_container.cpp | 12 +
src/waffle/nacl
Patch creates and initializes pp::Graphics3D context for OpenGL ES 2.0.
v2: fix error messages and context object initialization (Chad Versace)
dlclose on teardown, free the context properly (Emil Velikov)
Signed-off-by: Tapani Pälli
---
src/waffle/nacl/nacl_container.cpp | 92
Signed-off-by: Tapani Pälli
---
src/waffle/nacl/nacl_window.c | 10 +-
src/waffle/nacl/nacl_window.h | 3 ++-
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/src/waffle/nacl/nacl_window.c b/src/waffle/nacl/nacl_window.c
index c5ba4e0..3596327 100644
--- a/src/waffle/nacl
until swap is finished.
v2: add error messaging if pp::Graphics3D::SwapBuffers fails
add semaphore to implement blocking swap()
remove extra nacl_swapbuffers() c++ function (Chad, Emil)
v3: destroy semaphore when thread dies
Signed-off-by: Tapani Pälli
---
src/waffle/nacl
On 02/12/2015 03:47 AM, Chad Versace wrote:
On 02/09/2015 06:22 AM, Tapani Pälli wrote:
Implementation for nacl is somewhat different as for other platforms,
platform needs to ensure that the previous swap has finished before
issuing GL commands or more swaps. This is done by introducing a
On 02/12/2015 03:45 AM, Chad Versace wrote:
On 02/09/2015 05:24 AM, Tapani Pälli wrote:
Here's v2 of the nacl backend implementation patches. I've gone through
review comments and hopefully did not forget anything. I changed the way
how swapbuffers is implemented and now it blo
On 02/12/2015 12:50 PM, Emil Velikov wrote:
On 9 February 2015 at 13:24, Tapani Pälli wrote:
Patch fills attributes table suitable for Pepper API from
wcore_config_attrs passed by the application.
v2: throw error on unsupported context type (Chad Versace)
code cleanup, comment for max
On 02/12/2015 01:02 PM, Emil Velikov wrote:
On 9 February 2015 at 13:24, Tapani Pälli wrote:
v2: use wcore_calloc, code cleanup (Emil Velikov)
open dll only once in can_open (Chad Versace)
Signed-off-by: Tapani Pälli
---
src/waffle/nacl/nacl_platform.c | 69
v2: use wcore_calloc, code cleanup (Emil Velikov)
open dll only once in can_open (Chad Versace)
v3: print both dlopen and dlsym error, if dll could
not be opened on dl_sym (Emil Velikov)
Signed-off-by: Tapani Pälli
---
src/waffle/nacl/nacl_platform.c | 68
: Tapani Pälli
---
src/waffle/nacl/nacl_config.c | 37 +
src/waffle/nacl/nacl_config.h | 1 +
2 files changed, 38 insertions(+)
diff --git a/src/waffle/nacl/nacl_config.c b/src/waffle/nacl/nacl_config.c
index 27a75e1..16adc66 100644
--- a/src/waffle/nacl
ludes - stdio.h, string.h, nacl_container.h
Cc: Tapani Pälli
Signed-off-by: Emil Velikov
---
Tapani, this update addresses only the compilation goofups. This way
people can give it a test if interested. v3 will be comming after the
input of my follow up questions.
How did you structure the file
On 03/25/2015 04:07 PM, Emil Velikov wrote:
On 25 March 2015 at 06:10, Tapani wrote:
2 small things below ..
On 03/24/2015 05:56 PM, Emil Velikov wrote:
[...]
+static bool
+nacl_dl_check_enum(int32_t waffle_dl)
+{
+switch (waffle_dl) {
+case WAFFLE_DL_OPENGL:
+wc
On 03/25/2015 03:59 PM, Emil Velikov wrote:
On 25 March 2015 at 06:21, Tapani wrote:
I don't quite agree with this change, IMO the behavior is fine as it matches
how other backends work. The 'gl' prefix is "internal detail", user should
not be trying to dlopen some other functions anyway?
I'
On 03/27/2015 03:19 AM, Emil Velikov wrote:
On 26 March 2015 at 05:56, Tapani Pälli wrote:
On 03/25/2015 04:22 PM, Emil Velikov wrote:
This is a direct copy from cgl with the following tweaks
- s/cgl/nacl/
- s/cgl_dl_gl_path/NACL_GLES2_LIBRARY/
- Add move the nacl_prefix function
For pepper_43 ppapi_simple was moved from C++ to C. We need C++
entrypoints so link with ppapi_simple_cpp instead of ppapi_simple.
Patch also changes default SDK version in Options.cmake to latest
stable NaCl SDK (that is tested to be compatible with the change).
Signed-off-by: Tapani Pälli
This looks correct to me;
Reviewed-by: Tapani Pälli
Note that following patch is required to build waffle nacl support on
any recent nacl sdk versions:
https://lists.freedesktop.org/archives/waffle/2015-October/001266.html
On 04/06/2016 06:59 PM, Bas Nieuwenhuizen wrote:
Signed-off-by
On 04/11/2016 10:38 PM, Chad Versace wrote:
On 04/06/2016 09:59 PM, Tapani Pälli wrote:
This looks correct to me;
Reviewed-by: Tapani Pälli
Note that following patch is required to build waffle nacl support on any
recent nacl sdk versions:
https://lists.freedesktop.org/archives/waffle
lack the definition.
+#ifndef EGL_CONTEXT_OPENGL_ROBUST_ACCESS
+#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS 0x31B2
+#endif
+
Humble poke ?
LGTM (checked that the values is correct):
Reviewed-by: Tapani Pälli
-Emil
___
waffle mailing list
waffle@lists.freedesktop.org
ntry did
it already):
Reviewed-by: Tapani Pälli
(I will check the rest from the repo)
Emil
___
waffle mailing list
waffle@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/waffle
___
waffle
On 08/23/2016 12:52 PM, Tapani Pälli wrote:
On 08/18/2016 01:28 PM, Emil Velikov wrote:
On 21 June 2016 at 11:33, Emil Velikov wrote:
On 16 May 2016 at 11:57, Emil Velikov wrote:
On 16 May 2016 at 11:54, Emil Velikov wrote:
Hi all,
While looking at the gbm/egl I've noticed
On 08/23/2016 05:40 PM, Emil Velikov wrote:
On 23 August 2016 at 12:26, Tapani Pälli wrote:
On 08/23/2016 12:52 PM, Tapani Pälli wrote:
On 08/18/2016 01:28 PM, Emil Velikov wrote:
On 21 June 2016 at 11:33, Emil Velikov wrote:
On 16 May 2016 at 11:57, Emil Velikov wrote:
On 16 May
72 matches
Mail list logo