<html>
<body>
  <div id="body" style="background-color:#ffffff;" >
<table cellspacing="0" cellpadding="0" border="0" rules="cols">
<tr class="head" style="border-bottom-width:1px;border-bottom-style:solid;" ><td class="headtd" style="padding:0;padding-top:.2em;" colspan="4">Commit in <b><tt>lxdream/src</tt></b></td></tr>
<tr><td><tt><a href="#file1">display.c</a></tt></td><td id="added" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ddffdd;" align="right">+4</td><td id="removed" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ffdddd;" align="right">-1</td><td class="headtd2" style="padding-left:.3em;padding-right:.3em;" nowrap="nowrap">7f28eb5b815a -> 6b54ef5ed413</td></tr>
<tr class="alt" style=";" ><td><tt><a href="#file2">display.h</a></tt></td><td id="addedalt" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ccf7cc;" align="right">+1</td><td></td><td class="headtd2" style="padding-left:.3em;padding-right:.3em;" nowrap="nowrap">7f28eb5b815a -> 6b54ef5ed413</td></tr>
<tr><td><tt>drivers/<a href="#file3">video_gl.c</a></tt></td><td id="added" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ddffdd;" align="right">+26</td><td></td><td class="headtd2" style="padding-left:.3em;padding-right:.3em;" nowrap="nowrap">7f28eb5b815a -> 6b54ef5ed413</td></tr>
<tr><td></td><td id="added" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ddffdd;" align="right">+31</td><td id="removed" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ffdddd;" align="right">-1</td><td></td></tr>
</table>
<small id="info" style="color: #888888;" >3 modified files</small><br />
<pre class="comment" style="white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;white-space:pre-wrap;word-wrap:break-word;padding:4px;border:1px dashed #000000;background-color:#ffffdd;" >
Add a GL-only video driver for android usage (since the Java code is
responsible for creating the context)
</pre>
<hr /><a name="file1" /><div class="file" style="border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;" >
<span class="pathname" style="font-family:monospace; float:right;" >lxdream/src</span><br />
<div class="fileheader" style="margin-bottom:.5em;" ><big><b>display.c</b></big> <small id="info" style="color: #888888;" >7f28eb5b815a -> 6b54ef5ed413</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/src/display.c
+++ lxdream/src/display.c
@@ -31,7 +31,10 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > #ifdef HAVE_COCOA
         &display_osx_driver,
 #endif
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-#endif                                        
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+#endif
+#ifdef __ANDROID__
+        &display_gl_driver,
+#endif
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >         &display_null_driver,
         NULL };
 
</pre></div>
<hr /><a name="file2" /><div class="file" style="border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;" >
<span class="pathname" style="font-family:monospace; float:right;" >lxdream/src</span><br />
<div class="fileheader" style="margin-bottom:.5em;" ><big><b>display.h</b></big> <small id="info" style="color: #888888;" >7f28eb5b815a -> 6b54ef5ed413</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/src/display.h
+++ lxdream/src/display.h
@@ -281,6 +281,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > 
 extern struct display_driver display_gtk_driver;
 extern struct display_driver display_osx_driver;
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+extern struct display_driver display_gl_driver;
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > extern struct display_driver display_null_driver;
 
 /****************** Input methods **********************/
</pre></div>
<hr /><a name="file3" /><div class="file" style="border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;" >
<span class="pathname" style="font-family:monospace; float:right;" >lxdream/src/drivers</span><br />
<div class="fileheader" style="margin-bottom:.5em;" ><big><b>video_gl.c</b></big> <small id="info" style="color: #888888;" >7f28eb5b815a -> 6b54ef5ed413</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/src/drivers/video_gl.c
+++ lxdream/src/drivers/video_gl.c
@@ -244,3 +244,29 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     glPixelStorei( GL_PACK_ROW_LENGTH, 0 );
     return TRUE;
 }
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+
+static gboolean video_gl_init();
+
+/**
+ * Minimal GL driver (assuming that the GL context is already set up externally)
+ * This requires FBO support (since otherwise we have no way to get a render buffer)
+ */
+struct display_driver display_gl_driver = {
+        "gl", N_("OpenGL driver"), video_gl_init, NULL,
+        NULL, NULL, NULL,
+        NULL, NULL, NULL, NULL,
+        gl_load_frame_buffer, gl_display_render_buffer, gl_display_blank,
+        NULL, gl_read_render_buffer, NULL, NULL
+};
+
+static gboolean video_gl_init()
+{
+     if( gl_fbo_is_supported() ) {
+         display_gl_driver.capabilities.has_gl = TRUE;
+         gl_fbo_init(&display_gl_driver);
+         gl_vbo_init(&display_gl_driver);
+         return TRUE;
+     } else {
+         return FALSE;
+     }
+}
</pre></div>
<center><small>Chaos Theory</small></center>
</div></body></html>