Index: /trunk/doc/manual/user_ChangeLogImpl.xml
===================================================================
--- /trunk/doc/manual/user_ChangeLogImpl.xml	(revision 35270)
+++ /trunk/doc/manual/user_ChangeLogImpl.xml	(revision 35271)
@@ -189,4 +189,8 @@
 
       <listitem>
+        <para>3D support: fixed Unity/Compiz crashes on natty</para>
+      </listitem>
+
+      <listitem>
         <para>2D Video acceleration: multimonitor support</para>
       </listitem>
Index: /trunk/src/VBox/Additions/common/crOpenGL/pack/packspu_getstring.c
===================================================================
--- /trunk/src/VBox/Additions/common/crOpenGL/pack/packspu_getstring.c	(revision 35270)
+++ /trunk/src/VBox/Additions/common/crOpenGL/pack/packspu_getstring.c	(revision 35271)
@@ -76,5 +76,15 @@
     ext = crStateMergeExtensions(1, &extensions);
 
+#ifdef Linux
+    /*@todo 
+     *That's a hack to allow running Unity, it uses libnux which is calling extension functions
+     *without checking if it's being supported/exported.
+     *glActiveStencilFaceEXT seems to be actually supported but the extension string isn't exported (for ex. on ATI HD4870),
+     *which leads to libglew setting function pointer to NULL and crashing Unity.
+     */
+    sprintf((char*)gpszExtensions, "%s GL_EXT_stencil_two_side", ext);
+#else
     sprintf((char*)gpszExtensions, "%s", ext);
+#endif
 
     return gpszExtensions;
Index: /trunk/src/VBox/GuestHost/OpenGL/glapi_parser/APIspec.txt
===================================================================
--- /trunk/src/VBox/GuestHost/OpenGL/glapi_parser/APIspec.txt	(revision 35270)
+++ /trunk/src/VBox/GuestHost/OpenGL/glapi_parser/APIspec.txt	(revision 35271)
@@ -6704,6 +6704,6 @@
 param       face        GLenum
 paramprop   face        GL_FRONT GL_BACK
-category    EXT_stencil_two_side
-chromium    omit
+category    GL_EXT_stencil_two_side
+chromium    extpack
 
 
@@ -10329,4 +10329,15 @@
 chromium    extpack
 
+# GL_EXT_blend_equation_separate
+name        BlendEquationSeparateEXT
+alias       BlendEquationSeparate
+return      void
+param       modeRGB        GLenum
+paramprop   modeRGB        GL_FUNC_ADD GL_FUNC_SUBTRACT GL_FUNC_REVERSE_SUBTRACT GL_MIN GL_MAX GL_LOGIC_OP
+param       modeAlpha      GLenum
+paramprop   modeAlpha      GL_FUNC_ADD GL_FUNC_SUBTRACT GL_FUNC_REVERSE_SUBTRACT GL_MIN GL_MAX GL_LOGIC_OP
+category    GL_EXT_blend_equation_separate
+chromium    nopack
+
 # end of file sentinel
 
Index: /trunk/src/VBox/GuestHost/OpenGL/include/cr_extstring.h
===================================================================
--- /trunk/src/VBox/GuestHost/OpenGL/include/cr_extstring.h	(revision 35270)
+++ /trunk/src/VBox/GuestHost/OpenGL/include/cr_extstring.h	(revision 35271)
@@ -217,4 +217,10 @@
     "GL_EXT_framebuffer_blit "
 #endif
+#ifdef CR_EXT_blend_equation_separate
+    "GL_EXT_blend_equation_separate "
+#endif
+#ifdef CR_EXT_stencil_two_side
+    "GL_EXT_stencil_two_side "
+#endif
 	"";
 
Index: /trunk/src/VBox/GuestHost/OpenGL/include/cr_protocol.h
===================================================================
--- /trunk/src/VBox/GuestHost/OpenGL/include/cr_protocol.h	(revision 35270)
+++ /trunk/src/VBox/GuestHost/OpenGL/include/cr_protocol.h	(revision 35271)
@@ -16,5 +16,5 @@
 /*For now guest is allowed to connect host opengl service if protocol version matches exactly*/
 /*Note: that after any change to this file, or glapi_parser\apispec.txt version should be changed*/
-#define CR_PROTOCOL_VERSION_MAJOR 8
+#define CR_PROTOCOL_VERSION_MAJOR 9
 #define CR_PROTOCOL_VERSION_MINOR 1
 
Index: /trunk/src/VBox/GuestHost/OpenGL/include/cr_version.h
===================================================================
--- /trunk/src/VBox/GuestHost/OpenGL/include/cr_version.h	(revision 35270)
+++ /trunk/src/VBox/GuestHost/OpenGL/include/cr_version.h	(revision 35271)
@@ -129,4 +129,6 @@
 
 #define CR_EXT_framebuffer_blit 1
+#define CR_EXT_blend_equation_separate 1
+#define CR_EXT_stencil_two_side 1
 
 #endif /* CR_VERSION_H */
