Nux

Merge lp://qastaging/~jaytaoko/nux/nux-linaro-rev518-merge into lp://qastaging/nux/2.0

Proposed by Jay Taoko
Status: Merged
Approved by: Jay Taoko
Approved revision: 535
Merged at revision: 535
Proposed branch: lp://qastaging/~jaytaoko/nux/nux-linaro-rev518-merge
Merge into: lp://qastaging/nux/2.0
Diff against target: 302 lines (+157/-35)
7 files modified
Nux/WindowCompositor.cpp (+102/-26)
Nux/WindowCompositor.h (+21/-0)
Nux/WindowThread.cpp (+9/-0)
NuxGraphics/GraphicsDisplayX11.cpp (+2/-0)
configure.ac (+1/-1)
tests/manual-tests/linaro-reference-fbo.txt (+8/-0)
tools/unity_support_test.c (+14/-8)
To merge this branch: bzr merge lp://qastaging/~jaytaoko/nux/nux-linaro-rev518-merge
Reviewer Review Type Date Requested Status
Mirco Müller (community) Approve
Review via email: mp+87566@code.qastaging.launchpad.net

Description of the change

* Merge linaro branch (lp:~linaro-graphics-wg/nux/nux-gles2-11.12 rev 518) with Nux trunk.
* This branch is adding support for a reference frame buffer in Nux. A Reference frame buffer allows Nux to restore a previously set FBO once it is done with its own rendering.

To post a comment you must log in.
Revision history for this message
David Barth (dbarth) wrote :

Jay, can you document the test requirements for this change, and how much the code is already covered by existing tests?

Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

The branch fails to build for gles2. Here is a fix:

=== modified file 'NuxGraphics/GraphicsDisplayX11.cpp'
--- NuxGraphics/GraphicsDisplayX11.cpp 2012-01-03 03:10:54 +0000
+++ NuxGraphics/GraphicsDisplayX11.cpp 2012-01-05 12:58:20 +0000
@@ -64,7 +64,9 @@
     , m_X11Screen(0)
     , m_ParentWindow(0)
     , m_GLCtx(0)
+#ifndef NUX_OPENGLES_20
     , glx_window_(0)
+#endif
     , m_NumVideoModes(0)
     , m_BorderPixel(0)
     , _x11_major(0)

=== modified file 'tools/unity_support_test.c'
--- tools/unity_support_test.c 2011-11-24 16:45:23 +0000
+++ tools/unity_support_test.c 2012-01-05 13:12:19 +0000
@@ -721,21 +721,26 @@
   // Open a X11 connection and get the root window.
   display = XOpenDisplay (display_name);

+#ifndef NUX_OPENGLES_20
   // Before doing anything with GLX, check that it is supported on the system.
   Bool glx_supported = False;
   int dummy0, dummy1;
   if (display)
     glx_supported = glXQueryExtension(display, &dummy0, &dummy1);
-
- if (!display || !glx_supported) {
- if (!display)
- results.error = strdup ("unable to open display");
- else
- results.error = strdup ("GLX is not available on the system");
-
- // exit with 5, to tell "it's not an error we should cache"
- results.result = 5;
- }
+#endif
+
+ if (!display) {
+ results.error = strdup ("unable to open display");
+ // exit with 5, to tell "it's not an error we should cache"
+ results.result = 5;
+ }
+#ifndef NUX_OPENGLES_20
+ else if (!glx_supported) {
+ results.error = strdup ("GLX is not available on the system");
+ // exit with 5, to tell "it's not an error we should cache"
+ results.result = 5;
+ }
+#endif
   else
   {
     screen = DefaultScreen (display);

Revision history for this message
Jay Taoko (jaytaoko) wrote :

The logic behind the reference framebuffer:
 - by default there is no reference frame buffer set and Nux render to the opengl back buffer.
 - When a reference frame buffer is set Nux does its rendering into the reference frame buffer texture.
 - it is up to the caller to display the texture from the reference frame buffer into the back buffer.

To test this, a sample program would set a reference frame buffer and have Nux render a single color quad all over the window. Then the program would dump the texture in the reference frame buffer to memory and compare a few texels with the color that was used.

Revision history for this message
Mirco Müller (macslow) wrote :

Approved.

review: Approve
Revision history for this message
Unity Merger (unity-merger) wrote :

Attempt to merge into lp:nux failed due to conflicts:

text conflict in configure.ac

535. By Jay Taoko

* Merged with Trunk

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches

to all changes: